跳至主要內容
>_ITDITD網站資安平台

名詞解釋

什麼是 Let's Encrypt——將 HTTPS 自動化的免費憑證頒發機構(CA)

Let's Encrypt 是頒發 TLS/SSL 憑證的免費 CA。ACME 會自動驗證網域控制權,因此簽發與續期都無需人工介入;憑證效期只有 90 天,藉此強制自動化。本文說明運作原理(certbot/Caddy),以及如何避免第一大事故——續期默默中斷、導致憑證過期。

發布於 2026-06-29 更新於 2026-06-29 閱讀時間 1 分鐘

「我想要 HTTPS,但憑證好像又貴又麻煩」——Let's Encrypt 改變了這個前提。它是免費的,而且從簽發到續期都能完全自動化。以下從防禦者的視角來看它如何運作。

運作原理:自動證明網域控制權(ACME)

傳統憑證意味著申請、提交身分文件、等待——全部靠人工。Let's Encrypt 用 ACME(Automatic Certificate Management Environment) 取代了這一切,這是一個把整個流程化為機器對機器步驟的協定。

1. 挑戰(Challenge):CA 說「如果你控制這個網域,就把這個值放到指定的位置」
2. 證明(Prove):伺服器把該值放到某個網頁路徑(HTTP-01)或一筆 DNS 記錄(DNS-01)
3. 簽發(Issue):驗證通過後,CA 就頒發憑證。隨著到期日逼近,步驟 2–3 會自動重複
ACME 的基本原理:你的伺服器當場證明自己控制該網域,並自動取得憑證。

關鍵在於:它只驗證對網域的控制權(網域驗證,DV)。它不審核公司是否合法存在,正因如此整個流程才輕量到能完全自動化。加密本身並不比付費憑證來得弱。

90 天效期強制自動化

Let's Encrypt 憑證的效期為 90 天。這個短窗口是刻意的。

縮小外洩金鑰的波及範圍

萬一伺服器的私鑰外洩了,短效期憑證會縮小它能被濫用的時間窗口——而且即使撤銷有所延遲,它也會自行過期。

讓自動續期成為預設

90 天用手動續期並不實際,於是維運者必須自動化——這把整個產業推向了「憑證是會自動輪替的東西」。實務上,續期工具會在到期前約 30 天開始嘗試。

所以真正的工作是監控

自動續期可能默默停止——cron 壞了、權限變了、網域檢核不再通過。如果你沒注意到,90 天後它就過期了。防禦性的習慣就是監控續期是否成功與剩餘天數

本站觀點:我們自己也這樣跑(自動 TLS)

本站跑在 Caddy 這款 Web 伺服器上,它只要把網域指向它,就會自動簽發並續期 Let's Encrypt 憑證(幾乎沒有任何憑證設定)。「不必去操心憑證」正是目標:人工經手的地方越少,因忘記更換而過期的事故就越少。如果你改用 cron 跑 certbot,安全的做法是去監控那個 cron 是否真的還在運作——而不只是一廂情願地相信它還在。

第一大事故:續期中斷,接著過期

團隊在 HTTPS 上最常踩到的不是攻擊——而是憑證過期。一旦過期,瀏覽器會跳出全頁警告,訪客幾乎一定離開。原因幾乎總是「續期自動化壞掉了,卻沒人發現」。

正因如此,你應該有辦法定期查看自己憑證的到期日。本站的 網站安全稽核 會在你已驗證擁有的網站上,與其他檢查項目一併檢查 TLS 憑證(剩餘天數、到期日、過時的協定)。把續期自動化,再從外部驗證那個自動化還活著——這套兩層習慣幾乎能完全杜絕過期事故。

接下來閱讀

FAQ

QLet's Encrypt 真的免費嗎?它和付費憑證有什麼不同?
A

簽發與續期都是免費的。Let's Encrypt 只做網域驗證(DV)——它會自動確認你是否控制該網域。加密強度與付費憑證完全相同,瀏覽器也會顯示同樣的鎖頭。差別在於沒有審核公司法律身分的組織/延伸驗證(OV/EV)這一步,也沒有保固。對個人網站與小型服務而言,免費的 DV 憑證幾乎都足以提供 HTTPS。

Q為什麼憑證效期只有 90 天?這不會很麻煩嗎?
A

短效期是刻意的設計,而非缺點。它限制了外洩的私鑰被濫用的時間,也強制形成了續期自動化的文化。要避免麻煩,就把續期自動化(多數工具會在到期前約 30 天起自動續期)。真正的危險恰恰相反——每年用手動換一次憑證,然後忘記,結果讓某張憑證過期。

Q要用什麼工具來設定?
A

常見的有 certbot(搭配 Apache/Nginx 廣泛使用)與 Caddy(一款 Web 伺服器,提供 HTTPS 並在零憑證設定下自動續期)。acme.sh 與 Traefik 也支援 ACME。若你需要萬用字元憑證(*.example.com),則透過 DNS-01 方法取得,把驗證值放進一筆 DNS 記錄裡。