現在沒有 HTTPS 的網站會被瀏覽器標「不安全」,還影響 SEO 排名。好消息是 Let's Encrypt 提供完全免費的 SSL 憑證,幾分鐘就能幫站點開上 HTTPS。本文以 Nginx + Certbot 為例。

1. 為什麼必須上 HTTPS

  • 瀏覽器對 HTTP 站點顯示「不安全」,勸退訪客。
  • Google 明確把 HTTPS 作為排名訊號,不加密的站點吃虧。
  • 支付、登入等功能沒有 HTTPS 會洩露資料。

2. 前置條件

  • 一台有公網 IP 的 VPS,已裝好 Nginx。
  • 一個網域,且 A 記錄已解析到 VPS 的 IP(憑證簽發要驗證網域歸屬)。
  • 防火牆放行 80 和 443 連接埠。

3. 安裝 Certbot 並簽發憑證

以 Ubuntu 為例:

  • 安裝:apt install certbot python3-certbot-nginx
  • 一鍵簽發並自動改 Nginx 設定:certbot --nginx -d example.com -d www.example.com
  • 按提示填信箱、同意條款,選擇是否把 HTTP 自動跳轉 HTTPS(建議選是)。

4. 自動續期

Let's Encrypt 憑證有效期 90 天,但 Certbot 會裝好排程任務自動續期。驗證一下:certbot renew --dry-run,無報錯即說明續期正常,以後無需手動管理。

5. 常見問題

  • 簽發失敗:多半是網域沒解析到本機,或 80 連接埠被佔用/被防火牆擋住。
  • 仍顯示不安全:清快取強制重新整理,並確認頁面裡沒有 http:// 的圖片/腳本(混合內容)。