利用Certbot工具部署Let's Encrypt免费SSL证书
Let's Encrypt是一个由电子前哨基金会、Mozilla基金会、Akamai、密歇根大学、思科联合发起的一个项目。它旨在为站长提供一个免费的、完全自动化的证书申请过程,从而让整个互联网都能享受到HTTPS加密。Let’s Encrypt的证书申请过程非常简单、安全、快速、自动化并且免费。Let’s Encrypt是一个中间CA,它的CA证书由IdenTrust签发。IdenTrust是一个Root CA,受到所有主流浏览器的信任。从2015年10月后,Let’s Encrypt的中间CA证书被chrome、Firefox、Microsoft Edge、Safari和Opera所信任。
certbot是Let's Encrypt官方里的自动化配置工具,可以实现自动化申请、安装和更新证书。
certbot的官网也有详细的介绍,下边我们安装官网的教程进行安装。
yum安装certbot
yum install -y certbot
生成域名证书
certbot certonly --standalone -d example.com -d www.example.com
找到证书位置
我们可以在上面生成完成看到证书被放到/etc/letsencrypt/live/example.com/目录中,这个我们根据自己网址的文档区别。里面可以看到有cert.pem 、chain.pem 、 fullchain.pem 、privkey.pem四个文件。
将SSL文件部署到网站中
在nginx.conf中的server块里添加
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
将listen改为
listen 443 ssl;
重启nginx
service nginx reload
续约
每个Let's Encrypt的证书的有效期都为90天,certbot为我们提供了续约的功能,执行以下命令即可。
certbot renew --dry-run
不过经常需要去执行是不是很麻烦,有时忘记了就误事了,我们将其添加到crontab中,每个月执行一次。certbot renew —quiet是certbot renew --dry-run 的简化版,没有输出内容,适合自动执行。
crontab -e
0 0 1 * * certbot renew --quiet
pip install --upgrade git+https://github.com/posborne/putio-sync.git