Debian系統更新Nginx SSL證書主要有自動更新(推薦)和手動更新兩種方式,步驟如下:
安裝Certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx
獲取并配置證書
sudo certbot --nginx -d your_domain.com
按提示選擇域名,啟用自動重定向(HTTP→HTTPS)。
測試自動續簽
sudo certbot renew --dry-run
確保續簽功能正常。
設置定時任務(可選)
編輯crontab:
sudo crontab -e
添加以下內容(每天凌晨2點檢查續簽):
0 2 * * * certbot renew --quiet
備份舊證書
sudo cp /etc/nginx/ssl/your_domain.crt /etc/nginx/ssl/your_domain.crt.bak
sudo cp /etc/nginx/ssl/your_domain.key /etc/nginx/ssl/your_domain.key.bak
上傳新證書
將新證書(.crt和.key文件)上傳至服務器,存放至/etc/nginx/ssl/目錄(需提前創建目錄):
sudo mkdir -p /etc/nginx/ssl
sudo cp /path/to/new_certificate.crt /etc/nginx/ssl/
sudo cp /path/to/new_certificate.key /etc/nginx/ssl/
修改Nginx配置
編輯站點配置文件(如/etc/nginx/sites-available/your_domain):
sudo nano /etc/nginx/sites-available/your_domain
替換ssl_certificate和ssl_certificate_key路徑為新的證書文件:
ssl_certificate /etc/nginx/ssl/your_domain.crt;
ssl_certificate_key /etc/nginx/ssl/your_domain.key;
檢查并重啟Nginx
sudo nginx -t # 檢查配置語法
sudo systemctl reload nginx # 重新加載配置
驗證證書
https://your_domain.com,查看安全鎖圖標。openssl或在線SSL檢測工具)確認證書有效性。.key文件權限應為600,.crt文件為644):sudo chmod 600 /etc/nginx/ssl/*.key
sudo chmod 644 /etc/nginx/ssl/*.crt
/var/log/nginx/error.log排查問題。以上步驟參考自。