安装与配置过程不算复杂:
1、安装openssl和certbot
sudo apt-get install openssl ssl-cert
sudo apt-get install python-certbot-nginx -t stretch-backports
certbot安装命令和Linux发行版有关,详情请查看 https://certbot.eff.org/
2、生成DH参数文件(可选)
sudo openssl dhparam -out /etc/nginx/dhparams.pem 2048
3、获取Let's encrypt免费SSL证书
sudo certbot certonly --webroot -w /var/www/XXX/ -d www.XXX.com
注意:把上面命令中的“var/www/XXX/”和“www.XXX.com”替换成你真正的网站目录和域名。中间需要输入邮箱信息并有少量其他提示。最后生成的证书文件位于 /etc/letsencrypt/live/www.XXX.com/ 目录下。
4、启用SSL证书
在nginx相应的server设置中添加/修改以下设置:
listen 443 ssl;
server_name www.XXX.com;
root /var/www/XXX;
ssl on;
ssl_certificate /etc/letsencrypt/live/www.XXX.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/www.XXX.com/privkey.pem;
ssl_dhparam /etc/nginx/dhparams.pem;
如果需要全站使用HTTPS可在80端口服务配置中使用301跳转。保存后重载nginx设置:
sudo /etc/init.d/nginx reload
5、证书定期更新
Let's encrypt证书有效期仅90天,设置/etc/crontab让它每周检查一次(有效期小于30天才更新):
0 22 * * 6 root certbot renew --dry-run && /etc/init.d/nginx reload