在Debian系統上部署Nginx SSL證書的步驟如下:
如果你還沒有安裝Nginx,可以使用以下命令進行安裝:
sudo apt update
sudo apt install nginx
你可以從Let’s Encrypt免費獲取SSL證書,或者購買一個商業證書。以下是使用Let’s Encrypt獲取證書的步驟:
Certbot是一個自動化的工具,可以幫助你獲取和續訂Let’s Encrypt證書。
安裝Certbot:
sudo apt install certbot python3-certbot-nginx
運行Certbot以獲取證書:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示操作,Certbot會自動配置Nginx并重啟服務。
Certbot通常會自動修改Nginx配置文件以啟用SSL。你可以檢查/etc/nginx/sites-available/yourdomain.com
文件,確保以下配置存在:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# 其他配置...
}
在重新加載Nginx之前,先測試配置文件是否有語法錯誤:
sudo nginx -t
如果配置文件沒有問題,重新加載Nginx以應用更改:
sudo systemctl reload nginx
打開瀏覽器,訪問https://yourdomain.com
,你應該能看到一個安全的連接(通常顯示一個鎖圖標)。
Let’s Encrypt證書每90天過期一次,Certbot可以自動續訂證書。你可以設置一個cron任務來定期運行Certbot的續訂命令:
sudo crontab -e
添加以下行:
0 0,12 * * * certbot renew --post-hook "systemctl reload nginx"
這會在每天午夜和中午檢查并續訂證書,如果證書即將過期,會自動重新加載Nginx。
通過以上步驟,你就可以在Debian系統上成功部署Nginx SSL證書了。