在 Ubuntu 18.04 上使用 Let’s Encrypt 來保護 Nginx
隨著網絡安全的重要性日益增加,使用 SSL/TLS 證書來加密網站流量已成為一項必要措施。Let’s Encrypt 是一個免費的證書頒發機構,提供自動化的 SSL 證書申請和更新服務,特別適合於使用 Nginx 的 Ubuntu 18.04 伺服器。本文將詳細介紹如何在 Ubuntu 18.04 上使用 Let’s Encrypt 來保護 Nginx。
前期準備
在開始之前,請確保您已經安裝了 Nginx 並且擁有一個有效的域名。您可以使用以下命令來安裝 Nginx:
sudo apt update
sudo apt install nginx安裝完成後,您可以通過訪問您的域名來檢查 Nginx 是否正常運行。
安裝 Certbot
Certbot 是一個用於獲取和管理 Let’s Encrypt 證書的工具。您可以使用以下命令來安裝 Certbot:
sudo apt install certbot python3-certbot-nginx獲取 SSL 證書
安裝完成 Certbot 後,您可以使用以下命令來獲取 SSL 證書:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com請將 “yourdomain.com” 替換為您的實際域名。執行此命令後,Certbot 將自動配置 Nginx 並獲取 SSL 證書。您將被要求提供電子郵件地址以接收更新通知,並同意 Let’s Encrypt 的服務條款。
自動更新證書
Let’s Encrypt 的證書有效期為 90 天,因此建議設置自動更新。您可以使用以下命令來測試自動更新:
sudo certbot renew --dry-run如果測試成功,Certbot 將自動更新證書。您可以將此命令添加到 crontab 中,以便定期運行:
sudo crontab -e然後在文件末尾添加以下行:
0 0 * * * /usr/bin/certbot renew --quiet配置 Nginx
Certbot 在獲取證書時會自動配置 Nginx,但您仍然可以手動檢查 Nginx 的配置文件。打開您的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/default確保以下配置存在:
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;
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
}完成後,檢查 Nginx 配置是否正確:
sudo nginx -t如果沒有錯誤,重新啟動 Nginx 以應用更改:
sudo systemctl restart nginx總結
通過以上步驟,您已成功在 Ubuntu 18.04 上使用 Let’s Encrypt 來保護 Nginx。這不僅提高了網站的安全性,還增強了用戶的信任感。對於需要穩定和安全的網站,選擇合適的 VPS 解決方案至關重要。無論是 香港VPS 還是其他地區的 云服务器,確保您的伺服器配置正確,並定期更新證書,以保持網站的安全性。