原文链接:https://www.chenweiliang.com/cwl-1199.html
文章目录
上次解决了申请安装Let’s Encrypt获取失败Error Message: AutoSSL Issue Failed的DNS问题之后,这个免费SSL证书又有些问题需要解决了。
CWP控制面板本来似乎已设置好了Let’s Encrypt证书到期前自动更新续期的,不料昨天Let’s Encrypt不自动续期更新了,所以造成SEO流量大幅下滑,幸好解决好后就能恢复了。
什么是 Let’s Encrypt?
Let’s Encrypt是一个由非营利性组织互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA)。
简单的说,借助Let’s Encrypt颁发的证书可以为我们的网站免费启用HTTPS(SSL/TLS) 。
Let’s Encrypt免费证书的签发/续签都是脚本自动化的,Let’s Encrypt官方推荐使用Certbot客户端来签发证书。
以下是如何申请 Let’s Encrypt免费SSL证书的教程 ▼
什么是Let’s Encrypt 通配符证书?
在没有出现通配符证书之前,Let’s Encrypt 仅支持2种证书:
- 单域名证书:证书仅仅包含一个主机。
- SAN 证书:也称为域名证书,一张证书可以包括多个主机(Let’s Encrypt 限制是 20)。
对于个人用户来说,由于主机并不是太多,所以使用 SAN 证书完全没有问题,但是对于大公司来说有一些问题:
- 子域名非常多,而且过一段时间可能就要使用一个新的主机。
- 注册域也非常多。
对于大企业来说,SAN 证书可能并不能满足需求,而所有的主机全部包含在一张证书中,使用 Let’s Encrypt 证书(限制20)是无法满足的。
通配符证书就是证书中可以包含一个通配符,比如 *.example.com, *.example.cn,用 * 号来自动
如何申请Let’s Encrypt通配符证书?
为了实现通配符证书,Let’s Encrypt 对 ACME 协议的实现进行了升级,只有 v2 协议才能支持通配符证书。
也就是说任何客户端只要支持 ACME v2 版本,就可以申请通配符证书了。
下载Certbot-Auto
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto --version
Let’s Encrypt通配符证书脚本
git clone https://github.com/ywdblog/certbot-letencrypt-wildcardcertificates-alydns-au
cd certbot-letencrypt-wildcardcertificates-alydns-au
chmod 0777 au.sh
Let’s Encrypt通配符证书到期定时续约脚本
这里的脚本是nginx 编译安装或者通过Docker 安装的服务器,通过宿主机代理或者负载均衡主机代理https,自动备份SSL证书,重启Nginx代理服务器。
- 注:脚本实际使用的依然是
./certbot-auto renew
#!/usr/bin/env bash
cmd="$HOME/certbot-auto"
restartNginxCmd="docker restart ghost_nginx_1"
action="renew"
auth="$HOME/certbot/au.sh php aly add"
cleanup="$HOME/certbot/au.sh php aly clean"
deploy="cp -r /etc/letsencrypt/ /home/pi/dnmp/services/nginx/ssl/ && $restartNginxCmd"
$cmd $action \
--manual \
--preferred-challenges dns \
--deploy-hook \
"$deploy"\
--manual-auth-hook \
"$auth" \
--manual-cleanup-hook \
"$cleanup"
加入 crontab
编辑文件:/etc/crontab
#证书有效期<30天才会renew,所以crontab可以配置为1天或1周
0 0 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /home/pi/crontab.sh
CWP服务器配置重建
以下是CWP重建nginx / apache服务器的步骤:
第 1 步:在CWP控制面板左侧点击 WebServer Settings → Select WebServers ▼
第 2 步:选择 Nginx & Apache ▼
第 3 步:点击底部“Save & Rebuild Configuration”按钮,进行保存和重建配置。
- 刷新网站,将看到SSL证书的到期日期已更新。
扩展阅读:
欢迎转载《Let’s Encrypt不自动续期怎么办?免费SSL证书快速续期》
欢迎分享本文链接:https://www.chenweiliang.com/cwl-1199.html
网站地址:https://www.chenweiliang.com/
欲获取更多资讯内幕和秘技,欢迎进入Telegram频道:https://www.chenweiliang.com/go/tgchannel
没有评论:
发表评论