NGINX + Let's encrypt免費SSL證書
阿新 • • 發佈:2019-01-25
安裝與配置過程不算複雜:
1、安裝openssl和certbot
sudo apt-get install openssl ssl-cert
sudo apt-get install python-certbot-nginx -t stretch-backports
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