Let’s Encrypt免费SSL证书怎样快速续签
之前我们介绍过zmirror镜像站的搭建(https://www.zzygx.cc/?p=553),一款非常方便的镜像海外热门网站的工具。只需一个国外注册的域名和一台海外的VPS服务器就能搭建私人的镜像,在内网访问这些大站。但是随之而来的一个问题就是这些被镜像的网站基本都是HTTPS的加密网站,你做的镜像也得必须加密使用HTTPS否则根本没法用,因此这个工具就集成了免费的HTTPS证书。免费证书一般都是由 Let’s Encrypt 提供的,作为全球最大的免费SSL证书提供商一直都是很多站长使用SSL证书的首选,支持泛域名加密(二级子域名加密)。不花一分钱就能给自己的网站上加密,除了cloudflare的免费15年CDN证书还真找不出几家做免费证书的了。据我所知亚洲诚信就推出过单域名一年的免费证书,不过其他子域名就没法无限制的使用了,只能被迫用Let’s Encrypt。他们家证书是真好,什么域名都能使用还可以无限给任何该域名下的所有子域名加密,但是有效期只有3个月,到期后还得自动续签否则HTTPS就会因为证书到期而自动失效了,轻的会造成网站处于不安全状态,浏览器上方安全的绿色小锁会变为不安全的红色,严重的会导致网站无法访问,会被浏览器以不安全为由禁止访问,那就麻烦大了。因此到期的时候就要赶紧续签以免出现big trouble。
由于谷歌的镜像中也同样自带维基百科镜像功能,因此安装了谷歌镜像的也可以自由查询中文简繁体的维基百科。前段时间我突然想用维基百科镜像查点历史资料,突然网站无法访问了。上面的加密变红了,才明白原来是证书到期了,因为镜像安装已经有三个月了,证书到期自然是不能再访问了。那怎么办只能续签证书,如果不能自动续签那就只能我们自己手动续签了,下面我们介绍一个快速续签三个月免费证书的方法:
本方法不仅仅适用于zmirror镜像也适用于其他正常apache和nginx建站以及反代的网站证书续签
首先登录SSH,进入到你的VPS中,然后开始执行下面的命令(黑体的命令很重要)
输入命令 git clone https://github.com/letsencrypt/letsencrypt
下载官方的快速续签工具,然后VPS自动开始下载,下载安装完毕后输入 cd letsencrypt 进入目录
接下来关闭apache或者nginx服务器(方法网上都有,不再详细介绍)
本文以zmirror为例,这个程序底层使用的是apache而且一般是在Ubuntu系统中运行的,因此关闭命令是这样的
service apache2 stop
查看apache状态则需要输入 service apache2 status 当看到状态显示为关闭后进行下一步
接下来关键的命令来了,执行下面的脚本更新证书
./letsencrypt-auto certonly –standalone –email XXXX@XXX.com -d XXX.XXX.com
前面是你的联系邮箱,后面是你的域名。执行完毕当出现 IMPORTANT NOTES: – Congratulations! 并且下面有新的到期日期时,这个时候证书的续签就完成了。但是还要执行最后一步,重新打开apache或者nginx服务器即可。
service apache2 start
接下来打开浏览器,一切恢复正常,到这里证书续签就完成了。
网上搜的成功示例仅供参考,以实际为准
有的apache服务器名称可能是httpd,因此请将apache2改成httpd
这里主要介绍zmirror镜像的加密证书续签,因此是在Ubuntu上面进行的,其他反代的做站的比如在CentOS上面的如何开关则需这样做
CentOS 6
service httpd stop
service httpd status
service httpd start
service nginx stop
service nginx status
service nginx start
CentOS 7
systemctl stop httpd
systemctl status httpd
systemctl start httpd
systemctl stop nginx
systemctl status nginx
systemctl start nginx
为什么这一步必须要做,要关掉网站服务器程序,是因为如果被检测到80或者443端口被占用将无法使这个续签证书生效,因此必须要先关掉,否则会导致更新失败,见下图
也是示例图仅供参考
大致就是这么个内容,出现这个就代表端口被占用无法更新新的证书,因此在执行最后一步的时候不要先执行最后的更新命令,要先关掉网页服务器,关掉后只要80和443端口不放行就没问题了
到这里终于又能愉快的玩耍了,继续查询资料了。如果你也是这一免费证书的用户每次只需执行这个命令就能完成证书自动续签,全自动下载新证书替换旧证书,就是这么简单。
本文参考 https://jingyan.baidu.com/article/ff42efa9fc231fc19e220218.html
(补充)使用certbot-auto自动更新证书
#获取Let’s Encrypt certbot-auto
wget https://dl.eff.org/certbot-auto
#设置为可执行
chmod a+x certbot-auto
#执行自动部署
./certbot-auto
第一次是这样操作,以后就可以直接执行./certbot-auto更新证书,自动更新脚本会显示出需要更新证书的网站域名,直接输入序号就可开始更新证书。唯一需要注意的就是当下面提示您是选择全部重定向到HTTPS呢还是不重定向时,直接选择不重定向也就是1,接下来当出现一个更新OK的画面并且配有新的证书有效期提示的画面时就是更新成功。此方法可以不用停止网站关闭80与443端口,直接开着这些端口就能自动更新证书。