網站網址前面多一個 https,看起來只是多了幾個字,背後卻是瀏覽器和伺服器在建立加密連線。好消息是,這件事不一定要先刷卡;壞消息是,憑證過期時,瀏覽器不會因為你昨天還很努力就網開一面。

這篇會用白話整理免費 SSL 憑證的用途、Let's Encrypt、ZeroSSL 與 Cloudflare 的差異,接著帶你走過申請、安裝、自動更新和檢查流程。看完後,你應該能依照主機環境選擇做法,也知道哪些步驟不能只靠「應該可以」。

SSL 憑證到底在保護什麼?

SSL 是早期名稱,現在更常說 TLS;不過「SSL 憑證」已經成為大家熟悉的口語。憑證不是把整個網站變安全的魔法護符,而是讓瀏覽器能確認網站的網域,並在 HTTPS 連線中協助建立加密通道。

對網站管理者來說,至少要分清楚三件事:

  • **加密:**降低傳輸內容被旁觀者直接讀取的風險。
  • **身分驗證:**DV 憑證會驗證申請者能控制該網域,但不等於替公司做完整背景查核。
  • **完整性:**HTTPS 連線能幫助瀏覽器偵測傳輸內容是否遭到竄改。

因此,免費和付費的差別不應直接等同於「安全」和「不安全」。多數免費選項提供的是 DV 憑證;選擇時更重要的是驗證類型、部署方式、更新流程,以及你能不能長期維護它。

HTTPS 對網站有什麼幫助?

如果網站有登入、表單、付款或任何需要傳送資料的功能,HTTPS 幾乎是基本配備。即使是純內容網站,也能避免訪客在不安全的連線上讀取頁面,並符合現代瀏覽器與網站平台對安全連線的期待。

至於 SEO,不要把憑證當成搜尋排名的通關密語。Google 曾說明 HTTPS 是排名訊號之一,但它只是眾多因素中的一項;換上 HTTPS 不會自動把網站送上搜尋結果第一頁,搜尋引擎也沒有那麼容易被收買。

申請前先選對方式

Let's Encrypt:適合想自動化的人

Let's Encrypt 是由 Internet Security Research Group(ISRG)運作的非營利憑證授權中心,透過 ACME 協定自動化網域驗證與憑證管理。它簽發 DV 憑證,憑證有效期為 90 天;官方建議使用 ACME 用戶端自動更新,而不是每季靠行事曆提醒自己。

常見做法是使用 Certbot 或主機控制台內建的 ACME 整合。這種方式的優點是彈性高、可腳本化,適合能管理伺服器或使用支援自動續期主機的人。相對地,你必須確認排程真的有執行,並且更新後的憑證確實被伺服器載入。

ZeroSSL:介面導向的另一個選擇

ZeroSSL 提供網頁介面與 ACME API,讓你可以用控制台或自動化工具申請憑證。實際可用的網域數量、驗證方式與續期限制,會依服務方案和官方規則變動,因此不要只看別人幾年前整理的比較表;申請前應以 ZeroSSL 官方文件為準。

如果主機商已經整合 ZeroSSL,操作可能很簡單;如果需要手動下載憑證,再把憑證鏈和私鑰安裝到伺服器,就要自己負責更新與重載服務。介面簡單,不代表維運工作會自動消失——它只是把工作放到比較好看的按鈕後面。

Cloudflare:你要的是代理服務,不只是憑證

Cloudflare Universal SSL 是 Cloudflare 代理流量時提供的邊緣憑證。要使用這套模式,網域通常需要交由 Cloudflare DNS 管理,訪客連到的是 Cloudflare 的邊緣網路;它和「把憑證直接裝在自己的主機」不是同一種架構。

Cloudflare 控制台的 SSL/TLS 模式也要選對。若 Cloudflare 到來源伺服器之間仍是 HTTP,訪客到 Cloudflare 的那一段雖然可能是 HTTPS,但來源連線沒有加密;有條件時,應讓來源伺服器也安裝憑證,並依 Cloudflare 加密模式文件選擇適合的設定。

通用申請與安裝流程

不同主機的按鈕名稱會變,但核心流程大致相同。以下先理解順序,再回到你的主機控制台找對應選項。

1. 確認網域指向正確主機

先確認 example.comwww.example.com 要服務到哪裡,並檢查 DNS 記錄是否已生效。若使用 HTTP-01 驗證,憑證服務需要透過 HTTP 讀到指定的驗證檔案;若使用 DNS-01,則需要能新增指定的 DNS TXT 記錄。

常見驗證方式包括:

  • **HTTP-01:**在網站指定路徑放置驗證內容,適合能處理 HTTP 請求的網站。
  • **DNS-01:**新增 TXT 記錄,適合需要通配符憑證或網站不方便公開提供驗證檔案的情境。
  • **TLS-ALPN-01:**透過 TLS 連線完成驗證,是否可用取決於 ACME 用戶端與伺服器環境。

請以你選用的憑證授權中心文件為準,不要把某一種驗證方式的步驟硬套到另一家服務。

2. 申請憑證並完成網域驗證

在控制台或 ACME 用戶端輸入要保護的網域,選擇驗證方式。驗證成功後,服務會簽發憑證檔案。一般部署會用到:

  • 憑證(certificate)
  • 中繼憑證鏈(certificate chain,主機商可能要求合併成 full chain)
  • 私鑰(private key)

私鑰只能留在你信任的主機或密鑰管理系統,不要貼到聊天視窗、公開儲存庫或截圖裡。咖啡打翻可以擦,私鑰外流就不是紙巾能解決的問題。

3. 安裝到 Web 伺服器

以 Nginx 為例,完整設定會依憑證檔案位置、版本和網站架構而不同;下面只示範設定方向,不能直接取代你的主機設定:

server {
	listen 443 ssl;
	server_name example.com www.example.com;

	ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

	root /var/www/example.com;
}

修改後先測試設定,再重新載入 Nginx:

sudo nginx -t
sudo systemctl reload nginx

Apache、cPanel 或其他主機面板的欄位名稱不同,但觀念相同:伺服器要拿到正確的憑證鏈與私鑰,並在 443 埠提供 HTTPS。

4. 設定重新導向與檢查混合內容

HTTPS 正常後,可以把 HTTP 導向 HTTPS。但先確認 CSS、JavaScript、圖片和第三方資源也使用 HTTPS;如果頁面仍載入 HTTP 資源,瀏覽器可能阻擋它們,這就是常說的 mixed content。

不要一看到鎖頭就收工。檢查首頁、登入頁、表單頁和實際會用到的子網域,因為每個主機名稱都可能需要自己的憑證或代理設定。

自動更新:真正重要的是驗證它

90 天憑證並不代表你每 90 天要手動做一次儀式。正確做法是讓 ACME 用戶端或主機服務自動續期,然後定期確認:

  1. 更新排程或服務有在執行。
  2. 續期測試能成功完成。
  3. Web 伺服器在更新後有重新載入新憑證。
  4. 監控或通知能在續期失敗時提醒你。

使用 Certbot 時,可以先查看可用的續期項目,再用官方支援的測試模式驗證流程:

sudo certbot certificates
sudo certbot renew --dry-run

--dry-run 是測試續期流程,不代表正式憑證已更新。測試通過後,仍建議從外部檢查網站實際送出的憑證;伺服器有時很有個性,檔案更新了,程序卻還抱著舊設定不放。

常見問題排查

瀏覽器顯示憑證不受信任

先檢查網域名稱是否符合憑證、憑證是否過期,以及伺服器是否送出完整憑證鏈。只上傳網站憑證、漏掉中繼憑證,是很常見的安裝問題。

自動續期失敗

檢查 DNS 是否改過、80 或 443 埠是否被防火牆擋住、驗證路徑是否被重新導向或登入保護,以及 Web 伺服器是否仍由其他程式佔用。DNS-01 則要檢查 TXT 記錄是否加在正確的 DNS 服務商。

Cloudflare 迴圈或來源站錯誤

確認 Cloudflare 的加密模式和來源伺服器實際支援的協定一致。若來源站沒有可用的 HTTPS 憑證,卻要求 Cloudflare 使用嚴格的 HTTPS 連線,就會出現連線錯誤;反過來,為了「先能開」而長期使用不加密的來源連線,也不是理想的完成狀態。

SSL 檢查工具

安裝完成後,建議至少做一次外部檢查:

  • Qualys SSL Labs SSL Server Test:檢查公開 Web 伺服器的憑證鏈、TLS 協定和常見設定。
  • Mozilla Observatory:從較廣的網站安全設定角度提供檢查結果。
  • 瀏覽器開發者工具的 Security 面板:快速查看目前頁面憑證、連線和混合內容問題。

工具的評分是診斷線索,不是安全畢業證書。先處理憑證過期、網域不符、鏈不完整和混合內容,再依你的實際需求調整 TLS 設定。

該選哪一個?

  • **想自己控制伺服器,並能設定排程:**Let's Encrypt 搭配 Certbot 或其他 ACME 用戶端。
  • **主機控制台已整合某個服務:**優先使用主機商提供的自動申請與續期功能,少一層手動搬檔案。
  • **同時需要 CDN、代理和邊緣憑證:**Cloudflare,但要理解訪客到 Cloudflare、Cloudflare 到來源站是兩段不同的連線。
  • **偏好網頁介面或既有流程使用 ZeroSSL:**可以選 ZeroSSL,但仍要確認方案限制、續期方式與部署責任。

最後的判斷標準很簡單:不是「哪家最厲害」,而是「哪個方案能在你的架構中穩定更新,並且有人會收到失敗通知」。免費憑證省下的是費用,不是維運責任;把自動續期和檢查做好,才算真的把 HTTPS 裝完。

參考資料