1. 程式人生 > >NGINX + Let's encrypt免費SSL證書

NGINX + Let's encrypt免費SSL證書

安裝與配置過程不算複雜:

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