為Ubuntu上的Nginx服務器設置SSL證書,可以按照以下步驟進行操作。我們將使用Let’s Encrypt提供的免費SSL證書。
安裝Nginx:如果還沒有安裝Nginx,可以使用以下命令安裝:
sudo apt update
sudo apt install nginx
安裝Certbot:Certbot是Let’s Encrypt的官方客戶端工具,用于獲取和續訂SSL證書。
sudo apt install certbot python3-certbot-nginx
運行Certbot:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
將yourdomain.com
和www.yourdomain.com
替換為你的實際域名。
Certbot會自動配置Nginx: Certbot會自動修改Nginx配置文件以啟用SSL,并添加重定向HTTP到HTTPS的規則。
驗證和獲取證書: Certbot會提示你輸入電子郵件地址,并選擇是否將你的域名添加到Let’s Encrypt的ACME挑戰中。按照提示完成驗證過程。
Certbot會自動修改Nginx配置文件,通常位于/etc/nginx/sites-available/yourdomain.com-le-ssl.conf
。你可以手動編輯這個文件以確保配置正確。
示例配置:
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;
}
location ~ /\.ht {
deny all;
}
}
保存配置文件后,重載Nginx以應用更改:
sudo nginx -t # 檢查配置文件是否有語法錯誤
sudo systemctl reload nginx
Let’s Encrypt的證書有效期為90天,Certbot會自動續訂證書。你可以手動測試續訂過程:
sudo certbot renew --dry-run
如果一切正常,Certbot會在證書到期前30天自動續訂證書。
通過以上步驟,你已經成功為Ubuntu上的Nginx服務器設置了SSL證書?,F在,你的網站將通過HTTPS提供服務,提高了安全性和用戶信任度。