在Debian上為Nginx SSL配置Let’s Encrypt,你可以使用Certbot工具,它是一個自動化的證書管理器,可以輕松地為你的網站獲取和續訂Let’s Encrypt證書。以下是詳細步驟:
首先,你需要安裝Certbot及其Nginx插件。打開終端并運行以下命令:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Certbot會引導你完成證書的獲取過程。運行以下命令來啟動Certbot:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
將yourdomain.com和www.yourdomain.com替換為你的實際域名。
Certbot會自動修改你的Nginx配置文件以啟用HTTPS。它會創建一個新的配置文件,并將其鏈接到你的站點配置中。通常,這個文件位于/etc/letsencrypt/options-ssl-nginx.conf。
確保你的Nginx配置文件(通常位于/etc/nginx/sites-available/yourdomain.com)包含以下內容:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
在重新加載Nginx之前,測試配置文件是否有語法錯誤:
sudo nginx -t
如果沒有錯誤,重新加載Nginx以應用更改:
sudo systemctl reload nginx
Certbot會自動驗證你的域名所有權。驗證完成后,它會自動獲取并安裝證書。
Let’s Encrypt證書每90天需要續訂一次。Certbot會自動處理續訂過程,但你可以手動觸發續訂:
sudo certbot renew --dry-run
如果一切正常,Certbot會在證書到期前30天自動續訂證書。
為了確保Certbot能夠自動續訂證書,你可以設置一個定時任務(cron job):
sudo crontab -e
添加以下行:
0 0,12 * * * certbot renew --post-hook "systemctl reload nginx"
這會在每天午夜和中午檢查并續訂證書,并在續訂成功后重新加載Nginx。
通過以上步驟,你就可以在Debian上為Nginx SSL配置Let’s Encrypt證書了。