在Debian系統中配置Nginx以支持SSL,你需要遵循以下步驟:
安裝Nginx: 如果你還沒有安裝Nginx,請運行以下命令來安裝它:
sudo apt update
sudo apt install nginx
獲取SSL證書: 你可以從Let’s Encrypt免費獲取SSL證書。首先,確保你已經安裝了Certbot和Nginx插件:
sudo apt install certbot python3-certbot-nginx
然后,運行以下命令來獲取并安裝證書:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot將自動配置Nginx并創建一個SSL證書。請確保將yourdomain.com
替換為你的實際域名。
配置Nginx: 打開Nginx的默認站點配置文件:
sudo nano /etc/nginx/sites-available/default
找到以下部分:
server {
...
listen 80;
server_name yourdomain.com www.yourdomain.com;
...
}
將其修改為:
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;
...
}
同時,添加一個新的server塊以重定向HTTP流量到HTTPS:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
保存并關閉文件。
檢查Nginx配置: 在重新加載Nginx之前,請檢查配置文件是否有語法錯誤:
sudo nginx -t
如果一切正常,你將看到以下輸出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新加載Nginx: 為了使更改生效,請重新加載Nginx:
sudo systemctl reload nginx
現在,你的Nginx服務器應該已經成功配置了SSL,并且可以通過HTTPS訪問了。