在Ubuntu上配置Nginx以使用SSL證書的步驟如下:
首先,確保Nginx已經安裝在你的服務器上??梢酝ㄟ^以下命令進行安裝:
sudo apt update
sudo apt install nginx
安裝完成后,通過以下命令驗證Nginx是否正常運行:
sudo systemctl start nginx
sudo systemctl enable nginx
你可以選擇購買商業SSL證書,或者使用Let’s Encrypt提供的免費SSL證書。
安裝Certbot(用于自動化證書獲取和續訂):
sudo apt install certbot python3-certbot-nginx
獲取證書:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
根據提示完成配置,Certbot會自動為你配置Nginx。
找到并打開你的Nginx配置文件,通常位于 /etc/nginx/sites-available/default
或 /etc/nginx/nginx.conf
。
在 server
塊中添加以下內容:
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;
location / {
proxy_pass http://localhost:3000; # 根據需要調整
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
為了提高安全性,你可以選擇推薦的加密套件:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
HTTP Strict Transport Security(HSTS)可以防止中間人攻擊:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
在重啟Nginx之前,先測試配置是否有效:
sudo nginx -t
如果一切正常,重啟Nginx使更改生效:
sudo systemctl restart nginx
你可以使用 SSL Labs 在線工具來檢查SSL配置的安全性。
如果你使用的是Let’s Encrypt免費證書,可以使用Certbot工具來自動續訂證書。首先安裝Certbot:
sudo apt install certbot python3-certbot-nginx
然后運行Certbot來自動配置和續訂證書:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Certbot會自動更新Nginx配置并設置自動續訂任務。
通過以上步驟,你應該能夠在Ubuntu上成功安裝和配置Nginx以使用SSL證書。