国庆前,腾讯云的 CDN 就给我各种邮件、短信提示,说我证书要到期啦,赶紧更新,看看证书时间到10月15日,拖到节后来看。期间腾讯云真的是每天都给我发信息和邮件轰炸让我赶紧换证书。
看了看自动运行的脚本日志,一直在稳定运行:
-----update_push_cert.sh-----
-----create by: YuLaiZ-----
-----update time:2018-09-17 04:00:01-----
-----certbot update begin-----
-----certbot update end-----
-----qcloud cdn push begin-----
-----qcloud cdn push end-----
-----nginx reload begin-----
-----nginx reload end-----
-----you can see log in /usr/update_push_cert/logs/upc.log-----
-----update_push_cert.sh-----
-----create by: YuLaiZ-----
-----update time:2018-09-24 04:00:01-----
-----certbot update begin-----
-----certbot update end-----
-----qcloud cdn push begin-----
-----qcloud cdn push end-----
-----nginx reload begin-----
-----nginx reload end-----
-----you can see log in /usr/update_push_cert/logs/upc.log-----
-----update_push_cert.sh-----
-----create by: YuLaiZ-----
-----update time:2018-10-01 04:00:01-----
-----certbot update begin-----
-----certbot update end-----
-----qcloud cdn push begin-----
-----qcloud cdn push end-----
-----nginx reload begin-----
-----nginx reload end-----
-----you can see log in /usr/update_push_cert/logs/upc.log-----
-----update_push_cert.sh-----
-----create by: YuLaiZ-----
-----update time:2018-10-08 04:00:01-----
-----certbot update begin-----
-----certbot update end-----
-----qcloud cdn push begin-----
-----qcloud cdn push end-----
-----nginx reload begin-----
-----nginx reload end-----
-----you can see log in /usr/update_push_cert/logs/upc.log-----
看了一下证书,已经修改软链接到新证书上了:
[root@VM_0_9_centos yulaiz.com]# ll
total 8
lrwxrwxrwx 1 root root 34 Sep 17 04:00 cert.pem -> ../../archive/yulaiz.com/cert2.pem
lrwxrwxrwx 1 root root 35 Sep 17 04:00 chain.pem -> ../../archive/yulaiz.com/chain2.pem
lrwxrwxrwx 1 root root 39 Sep 17 04:00 fullchain.pem -> ../../archive/yulaiz.com/fullchain2.pem
lrwxrwxrwx 1 root root 37 Sep 17 04:00 privkey.pem -> ../../archive/yulaiz.com/privkey2.pem
-rw-r--r-- 1 root root 1675 Oct 12 16:09 privkey.pem.tmp
-rw-r--r-- 1 root root 682 Jul 17 15:40 README
新证书在9月17号那次定时脚本运行的时候就更新了
[root@VM_0_9_centos yulaiz.com]# ll
total 32
-rw-r--r-- 1 root root 2240 Jul 17 15:40 cert1.pem
-rw-r--r-- 1 root root 2240 Sep 17 04:00 cert2.pem
-rw-r--r-- 1 root root 1647 Jul 17 15:40 chain1.pem
-rw-r--r-- 1 root root 1647 Sep 17 04:00 chain2.pem
-rw-r--r-- 1 root root 3887 Jul 17 15:40 fullchain1.pem
-rw-r--r-- 1 root root 3887 Sep 17 04:00 fullchain2.pem
-rw-r--r-- 1 root root 1704 Jul 17 15:40 privkey1.pem
-rw-r--r-- 1 root root 1704 Sep 17 04:00 privkey2.pem
先手动把 CDN 干掉,直接域名解析到服务器,看一下,还是旧证书。
先看一下定时脚本:
#!/bin/bash
echo ""
echo ""
echo ""
echo "-----update_push_cert.sh-----"
echo "-----create by: YuLaiZ-----"
DATE=$(date +%Y-%m-%d)
TIME=$(date +%H:%M:%S)
echo "-----update time:"$DATE $TIME"-----"
echo "-----certbot update begin-----"
/usr/certbot/certbot-auto renew --quiet
echo "-----certbot update end-----"
echo "-----qcloud cdn push begin-----"
java -jar /usr/update_push_cert/qcloud-cdn-https-1.0.jar
echo "-----qcloud cdn push end-----"
echo "-----nginx reload begin-----"
/usr/local/nginx/sbin/nginx -s reload
echo "-----nginx reload end-----"
echo "-----you can see log in /usr/update_push_cert/logs/upc.log-----"
echo ""
echo ""
echo ""
刚刚已经将 CDN 取消了关联,那么脚本中向 CDN 推送证书的过程成不成功都无所谓,证书都有了,页面上没刷新出来,显然问题出在 Nginx 上面。
Nginx 的配置如下:
server {
listen 443;
server_name yulaiz.com;
ssl on;
ssl_certificate '/etc/letsencrypt/live/yulaiz.com/fullchain.pem';
ssl_certificate_key '/etc/letsencrypt/live/yulaiz.com/privkey.pem';
#省略...
}
当时为了全自动,直接将 Nginx 的证书配置为一直永久最新的 fullchain.pem
以及 privkey.pem
上,也就是软连接上,导致软连接更新后,Nginx 在 reload
的时候没有检测到变动,没有重新加载,那么只好彻底重启。
先手动重启 Nginx,使用 stop/start
操作重启后果然证书就刷新到最新了,网站上面也显示正常。
简单修改一下定时脚本,问题搞定。
网上好多都是 reload
即可,难道我的 Nginx 有毒??
发表评论
沙发空缺中,还不快抢~