没错我又踩坑了。昨晚上搞到十二点半才成功申请。鬼知道OJ服务器是个什么渣渣。

早上才算正式弄好,中间也学了不少东西,记录一下。这次是http转https,所以默认的还是只有80端口。

请务必确保自己的80端口是开的。。否则会GG。


首先贴一下cerbot的网址 https://certbot.eff.org/,你可以去里面选择你的环境然后会有教程。

1、下载Certbot,并且添加权限

wget https://dl.eff.org/certbot-auto
chmod   a+x   ./certbot-auto

2、关闭nginx服务

sudo service nginx stop

3、使用certbot-auto,生成证书


先说一下自己的坑吧,这里着实坑死我了。

不想看的可以跳过这一段!!!因为很多废话!!

我先百度了一下,是有这样的,

./certbot-auto certonly --standalone --email 你的邮箱 -- agree-tos -d 你的域名

但是我们这个oj的域名有点奇怪,估计是没有,然后会报 certbot: error: unrecognized arguments:。

试了好久,然后我看没有特别有效的解决办法,于是我放弃了。

然后,我又试了手动的方式,结果给了我一个蜜汁challenge,看了官网是有这方面的解释的。

所以我的80端口被占用了,于是我,查看80端口

lsof -i:

杀进程。

kill - 进程id

md杀出问题了。我把数据库杀掉了,结果mysql挂了。

贼慌,还好重启了一下,就好了。

于是我这个也放弃了QAQ。

真的是血泪史,哭唧唧。


 最后尝试了一次,这种方式是成功的。

./certbot-auto certonly --webroot -w 你的网站根目录 -d 你的域名

你进入要配置的域名的nginx的conf里面,红色框是根目录,蓝色框就是域名(之前这里是只有80的,我这个截图是修改之后的)

4、查看letsencrypt

这一步成功后就会生成这个目录 /etc/letsencrypt/live/你的域名

这个底下会有这些东西,红框的两个是我们要配置进conf的。

 5、配置conf

请在sever下加入这三行

ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/你的域名/chain.pem;

并且把原来server下的listen 80 去掉改成

listen 443 ssl;
ssl on;

这里慎重提醒!!!

千万不要加listen [::]:443 default_server ipv6only=on,我昨天一直没成功,是因为加了这句话,我也不知道为什么。花花帮我去掉后就可以了。

6、测试并重定向

打开nginx服务

sudo service nginx start

这里先建议测试一下https://你的域名,看是否可以访问,不能再去找原因。我比较顺利这里。就没有问题。qwq

然后测试成功后,做一个80端口重定向,红框部分为你的域名。

7、重启nginx服务器

上面改完之后

sudo service nginx reload

就可以了。

不过!!!!我在这里是出了问题的。证书还是不行,原因是我没有给 /etc/letsencrypt/live/这个里面权限,导致不能访问,所以会失败。

这个就用chmod a+x再给一次权限啦,最好是整个目录都给哦。

后面再把更新证书写一下。有效期是90天,所以需要更新证书的!!!。


update: 更新证书

因为才刚刚上了证书,这么短时间去renew肯定是不行的。所以实操还是不知道效果。这是参考网上的。

1、手动更新

./certbot-auto  renew   -v

2、自动更新

./certbot-auto  renew  --quiet  --no-self-upgrade

为了避免每90天上来更新一次证书。 我写了个shell脚本执行第二句话,用corntab写了个定时任务。

$touch batch.sh

$vim batch.sh

执行一下脚本会发现权限不够,然后如下

$chmod  batch.sh
$./batch.sh

就可以运行了。

接下来接入定时任务

$crontab -e

这里是定时的每周一的一点执行这个脚本

  * *  ./bash.sh

保存以后再执行下面这条命令

$service crond restart

查看执行日志是这样的

可以看到我写的每分钟执行的一个测试文件


虽然又是一次很辛酸的历程,但是知道了nginx的配置,还自己申请了一下。总的还是蛮有(nan)趣(guo)的。

菜鸡又学了一些东西,收获很多。qwq希望对你们有帮助。

【linux】centos6/7 + nginx 利用certbot 申请https证书的更多相关文章

  1. nginx使用certbot配置https

    一般现在的网站都要支持https,即安全的http. 机器:阿里云Ubuntu 16.04.3 LTS 方案一:自己申请证书 配置时需要确保有ssl模块, 之后域名解析下, 之后时申请证书,可以去阿里 ...

  2. 免费申请 HTTPS 证书,开启全站 HTTPS

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 HTTP 报文以明文形式传输,如果你的网站只支持 HTTP 协议,那么就有可能遭受到安 ...

  3. 如何申请https证书、搭建https网站

    如何申请https证书.搭建https网站 随着国内搜索引擎巨头百度启用全站https加密服务,全国掀起了网站https加密浪潮.越来越多的站点希望通过部署https证书来解决“第三方”对用户隐私的嗅 ...

  4. nginx 反向代理及 https 证书配置

    nginx 反向代理及 https 证书配置 author: yunqimg(ccxtcxx0) 1. 编译安装nginx 从官网下载 nginx源码, 并编译安装. ./configure --pr ...

  5. Nginx+Tomcat反向代理利用certbot实现https

    一.利用Let's Encrypt 免费生成HTTPS证书 1.下载安装certbot(Let's Encrypt ) 2.利用certbot生成证书 3.配置nginx的https证书 安装cerb ...

  6. Nginx反向代理+负载均衡简单实现(手动申请https证书,申请免费https证书,http强转https)

    背景:A服务器(192.168.1.8)作为nginx代理服务器B服务器(192.168.1.150)作为后端真实服务器 现在需要访问https://testwww.huanqiu.com请求时从A服 ...

  7. letsencrypt证书-使用certbot申请wildcard证书

    目录 1. certbot安装 2. 认证方式 3. 运行命令 4. 更新 1:下载 2:配置 3:申请证书 4:续期证书 1. certbot安装 cd /usr/local/src wget ht ...

  8. 申请https证书需要注意的4大问题

    HTTPS证书是什么 https证书是数字证书中的一种,由受信任的数字证书颁发机构CA如[沃通CA]在验证服务器身份后颁发,具有服务器身份验证和数据传输加密 功能,因其要配置在服务器上,所以也称SSL ...

  9. 阿里云免费申请https证书

    申请地址   https://common-buy.aliyun.com/?spm=a2c4e.11153940.blogcont65199.22.30f968210RsUSx&commodi ...

随机推荐

  1. 调用js方法返回值为undefined

    问题描述: 我写的js方法: function getname(code){ var name $.post("",{ code:code },function(resurlt){ ...

  2. Java开发中的23种设计模式详解(1)创建型

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  3. Sass-属性嵌套

    Sass 中还提供属性嵌套,CSS 有一些属性前缀相同,只是后缀不一样,比如:border-top/border-right,与这个类似的还有 margin.padding.font 等属性.假设你的 ...

  4. vscode 常用的插件

    这些是本人在使用vscode中用的比较爽的插件,个人爱好习惯不同,请按需拿取.先声明本人是一个前端,所用的,插件都是和前端匹配的,后台的同学可以不用浪费时间了 基础插件 chinese 英文是所有读书 ...

  5. Windows7有“系统保留”分区时,安装系统要注意的两点

    1.手动格式化“系统保留”分区 2.格式化完成之后,安装系统到第二个分区,不能安装到“系统保留”分区 具体看图: 本文章转载于辰羿的博客,如有侵权请联系本论坛维护者删除.

  6. KVM主机迁移

    目录 新主机kvm初始环境的部署 I.检查主机cpu是否支持虚拟化 II.宿主机软件安装 III.检查kvm模块是否加载 IV.网桥的搭建 V.查看宿主机网络 迁移kvm主机数据 I.查看宿主机上现有 ...

  7. filter 过滤emoji

    拦截器 public class EmojiFilter implements Filter { private FilterConfig filterConfig; public void init ...

  8. Delphi 字符串函数SysUtils单元 AnsiSameStr、AnsiSameText、AnsiCompareStr、AnsiCompareText、AnsiCompareFileName、AnsiUpperCase、AnsiLowerCase、AnsiUpperCaseFileName、AnsiLowerCaseFileName、AnsiPos、AnsiQuotedStr

    USES 单元 SysUtils 非 StrUtils AnsiSameStr.AnsiSameText.AnsiCompareStr.AnsiCompareText.AnsiCompareFileN ...

  9. Vue学习笔记【33】——nrm的安装使用

    作用:提供了一些最常用的NPM包镜像地址,能够让我们快速的切换安装包时候的服务器地址: 什么是镜像:原来包刚一开始是只存在于国外的NPM服务器,但是由于网络原因,经常访问不到,这时候,我们可以在国内, ...

  10. mui-popover显示、隐藏弹出菜单的方法

    一.mui-popover要显示.隐藏弹出菜单,可使用锚点方式. <div id="popover" class="box mui-popover mui-popp ...