在Debian系統上,將Nginx與Let’s Encrypt集成以啟用SSL/TLS加密是一個相對簡單的過程。以下是詳細的步驟指南:
如果你還沒有安裝Nginx,可以使用以下命令進行安裝:
sudo apt update
sudo apt install nginx
Certbot是Let’s Encrypt的官方客戶端工具,用于自動獲取和續訂SSL證書。你可以使用以下命令安裝Certbot及其Nginx插件:
sudo apt install certbot python3-certbot-nginx
使用Certbot獲取SSL證書。運行以下命令并按照提示操作:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
-d yourdomain.com 和 -d www.yourdomain.com 是你的域名。你可以根據需要添加更多域名。Certbot會自動配置Nginx以使用SSL證書,并創建一個定時任務來自動續訂證書。
Certbot會自動測試Nginx配置并重啟Nginx服務以確保配置正確:
sudo nginx -t
如果一切正常,你會看到類似以下的輸出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果你需要手動重啟Nginx以應用更改,可以使用以下命令:
sudo systemctl restart nginx
Certbot會創建一個定時任務來自動續訂證書。你可以使用以下命令查看定時任務:
sudo crontab -l
你應該能看到類似以下的條目:
0 */12 * * * root certbot renew --post-hook "systemctl reload nginx"
這表示Certbot會每12小時檢查一次證書是否需要續訂,并在續訂成功后重新加載Nginx服務。
確保你的防火墻允許HTTPS流量(端口443)。如果你使用的是ufw,可以運行以下命令:
sudo ufw allow 'Nginx Full'
最后,你可以使用瀏覽器訪問你的域名,確保HTTPS連接正常工作,并且瀏覽器顯示安全鎖標志。
通過以上步驟,你已經成功地將Nginx與Let’s Encrypt集成,啟用了SSL/TLS加密。