letsencrypt手动更新证书
眼看着为GoProxy-VPS生成的SSL证书快到期了,我在之前的文章里讲过,如何使用Let’s Encrypt来生成免费的SSL证书,接下来需要更新Let’s Encrypt的证书,以延长证书的时间。
更新证书的方法一共两种,手动更新和自动更新。今天先来介绍一下如何手动更新Let’s Encrypt颁发的证书。
假设你已经搭建好了Let’s Encrypt证书需要的所有环境,包括了certbot客户端,以及相应的Python环境,并且已经生成过了由Let’s Encrypt颁发的证书,不明白的看这里。
考虑到安全因素,Let’s Encrypt每次签发的证书有效期只有90天。所以,我们必须在有效期过期前,更新Let’s Encrypt证书。
下面的命令是用来测试证书更新,并不会真的生成新的证书
1 | ./certbot-auto renew --dry-run |
如果出现Congratulations字眼,说明测试成功
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/linuxstory.org/fullchain.pem (success)
** DRY RUN: simulating ‘certbot renew’ close to cert expiry
** (The test certificates above have not been saved.)
接下来就是手动更新了
1 | ./certbot-auto renew -v |
只有手动更新了以后,你才会看到目录/etc/letsencrypt/live/yourdomainsite/
下的证书被更新了。
注意,在手动更新证书之前,要先停止nginx服务,以及终止goproxy-vps进程。因为更新证书要用到443端口,而goproxy-vps默认使用了443端口,端口被goproxy-vps占用了之后,会导致证书更新失败。
接下来就是把/etc/letsencrypt/live/yourdomainsite/
文件夹下的cert.pem
以及privkey.pem
证书文件里的内容拷贝到goproxy-vps.toml
配置文件内即可。然后启动Nginx服务,再次访问你的网站,你会看到证书有效期更新了,从当天开始到90天以后。