在CentOS上使用Nginx配置SSL自動續期,通常需要結合Certbot工具來實現。Certbot是一個由Let’s Encrypt提供的自動化證書管理客戶端,它可以自動完成證書的申請、安裝和續期。以下是使用Certbot為Nginx配置SSL自動續期的步驟:
安裝Certbot: 首先,確保你的CentOS系統已經更新到最新狀態,然后安裝EPEL倉庫(如果尚未安裝),接著安裝Certbot及其Nginx插件。
sudo yum update -y
sudo yum install epel-release -y
sudo yum install certbot python2-certbot-nginx -y
獲取SSL證書: 使用Certbot獲取SSL證書。運行以下命令并按照提示操作。Certbot會自動配置Nginx并重啟服務以應用新的SSL設置。
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
將yourdomain.com
和www.yourdomain.com
替換為你的實際域名。Certbot會創建一個Nginx配置文件片段,并啟用HTTPS。
測試自動續期: Certbot會在證書到期前30天自動嘗試續期。你可以使用以下命令測試自動續期過程是否正常工作:
sudo certbot renew --dry-run
如果一切正常,Certbot將輸出續期成功的信息。
設置定時任務: 如果你想手動觸發續期或者檢查續期狀態,可以設置一個定時任務(cron job)。編輯root用戶的crontab文件:
sudo crontab -e
添加以下行來每天檢查證書續期狀態:
0 0 * * * certbot renew --post-hook "systemctl reload nginx"
這個定時任務會在每天的午夜運行,嘗試續期所有即將到期的證書,并在成功續期后重新加載Nginx服務。
監控續期狀態:
Certbot還會在/etc/letsencrypt/renewal/
目錄下為每個域名創建一個日志文件,記錄續期的詳細信息。你可以定期檢查這些日志文件以確保沒有問題發生。
請注意,上述步驟適用于Certbot的早期版本。隨著Certbot的更新,命令和選項可能會發生變化。因此,建議查看Certbot的官方文檔以獲取最新信息。此外,如果你使用的是Python 3,請確保安裝了python3-certbot-nginx
包。