在Ubuntu上為Nginx安裝SSL證書的步驟如下:
首先,確保你的Ubuntu系統上已經安裝了Nginx。如果尚未安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install nginx
安裝完成后,可以通過以下命令驗證Nginx是否正常運行:
sudo systemctl start nginx
sudo systemctl enable nginx
你可以選擇購買商業SSL證書,或者使用Let’s Encrypt提供的免費SSL證書。以下是使用Let’s Encrypt獲取證書的步驟:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
將yourdomain.com
替換為你的域名。根據提示完成配置,Certbot會自動為你配置Nginx。
編輯Nginx配置文件:找到并打開你的Nginx配置文件,通常位于/etc/nginx/sites-available/default
或/etc/nginx/nginx.conf
。
添加SSL配置:在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;
}
}
將yourdomain.com
替換為你的域名。
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
在重啟Nginx之前,先測試配置是否有效:
sudo nginx -t
如果一切正常,重啟Nginx使更改生效:
sudo systemctl restart nginx
如果你使用的是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證書?,F在,你的網站應該可以通過HTTPS安全訪問了。