名詞解釋

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

Let's Encrypt 是頒發 TLS/SSL 憑證的免費 CA,透過 ACME 自動驗證網域並簽發與續期,效期 90 天以強制自動化。說明 certbot、Caddy 的運作原理,以及如何避免續期中斷導致憑證過期。

發布於 2026-06-29 更新於 2026-10-06 閱讀時間 3 分鐘
本頁內容

過去,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 天。這個短窗口是刻意的。

1

限制金鑰外洩造成的損害

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

2

讓自動續期成為預設

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

3

所以真正的工作是監控

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

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

本站跑在 Caddy 這款 Web 伺服器上,它只要把網域指向它,就會自動簽發並續期 Let's Encrypt 憑證(幾乎沒有任何憑證設定)。「不必去操心憑證」正是目標:人工經手的地方越少,因忘記更換而過期的事故就越少。

如果你改用 cron 跑 certbot,安全的做法是去監控那個 cron 是否真的還在運作,而不只是相信它還在。

效期正在縮短(截至 2026 年 10 月的時程)

90 天是現在的標準,但 Let's Encrypt 已宣布將分階段縮短效期。由瀏覽器廠商與憑證頒發機構組成的業界團體 CA/Browser Forum,也已決定自 2026 年 3 月起分階段縮短瀏覽器信任憑證的最長效期,在 2029 年 3 月達到 47 天。

時間變化
截至 2026 年 10 月效期 90 天
自 2026 年 5 月 13 日起選用的 tlsserver 設定檔提供 45 天憑證
自 2027 年 2 月 10 日起預設(classic 設定檔)改為 64 天;網域驗證的重複使用期間縮短為 10 天
自 2028 年 2 月 16 日起預設改為 45 天;網域驗證的重複使用期間縮短為 7 小時

效期約 6 天(160 小時)的 shortlived 設定檔也已自 2026 年 1 月起正式提供。IP 位址憑證只以這種短效期憑證的形式簽發。

實務上的重點是:不要把續期間隔寫死成「每 60 天」之類。Let's Encrypt 建議使用支援 ARI(ACME Renewal Information,由 CA 告訴用戶端何時續期)的用戶端;不支援 ARI 時,就在效期過了三分之二時續期。以固定天數執行的 cron 工作,在效期縮短後就會開始造成過期。

2025 年結束的服務:OCSP 與到期通知信

Let's Encrypt 在 2025 年停止了兩項服務。如果你照著舊的文章或設定操作,請特別留意。

  • OCSP(每次確認憑證是否已被撤銷):OCSP URL 已於 2025 年 5 月 7 日從憑證中移除,回應伺服器於 8 月 6 日關閉。撤銷檢查現在改用 CRL(已撤銷憑證的清單)。原因之一是隱私:使用 OCSP 時,CA 可以得知哪個 IP 位址正在造訪哪個網站。
  • 到期通知信:已於 2025 年 6 月 4 日停止。過去在到期日逼近時會收到電子郵件,現在不會了。你需要自己的到期監控。

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

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

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

網域驗證方式(挑戰)的比較

ACME 提供三種證明網域控制權的方式。請選擇適合你環境的方式。

方式放置什麼萬用字元憑證適合的情況
HTTP-01在 Web 伺服器的固定路徑放一個檔案不行可從 80 埠連線的一般 Web 伺服器
DNS-01在 DNS 放一筆 TXT 記錄可以需要 *.example.com,或伺服器無法公開連線
TLS-ALPN-01在連往 443 埠的 TLS 連線上回應不行大型主機服務商與反向代理

自動化 DNS-01,代表要把 DNS API 金鑰放在伺服器上。一旦該金鑰外洩,別人就能變更你網域的記錄,所以請選擇可以把金鑰限制在 TXT 記錄的 DNS 服務商,並讓金鑰存放的地方越少越好。

如何檢查自己的網站

1

在瀏覽器中確認簽發者與到期日

從網址列的鎖頭圖示開啟憑證,查看簽發組織與到期日。如果組織是 Let's Encrypt,本頁就適用於你。
2

確認續期真的有在執行

使用 certbot 時,certbot certificates 會顯示到期日,certbot renew --dry-run 會測試續期。在 systemd 主機上,確認 systemctl list-timers 中有 certbot 的計時器。Caddy 會在紀錄中記下憑證的簽發與續期。
3

找出你沒有申請的憑證

瀏覽器信任的憑證都會記錄在公開的憑證透明度(CT)紀錄中。在 crt.sh 等 CT 搜尋中搜尋你的網域,就能看出是否有你不認得的憑證被簽發。
4

限制可以為你簽發的 CA

DNS 中的 CAA 記錄,可以指定允許為你的網域簽發憑證的頒發機構。如果你只用 Let's Encrypt,就只允許 Let's Encrypt。
5

從外部監控剩餘天數

到期通知信已經停止,所以你需要定期從外部檢查剩餘天數。本站的網站安全稽核也會檢查剩餘天數與過時的協定。

案例:2021 年根憑證到期

憑證是透過一條以受信任根憑證為終點的鏈來驗證的。Let's Encrypt 的憑證最初是透過另一個 CA 的根憑證(DST Root CA X3)取得信任,而該根憑證於 2021 年 9 月 30 日到期。

從那天起,不信任 Let's Encrypt 自有根憑證(ISRG Root X1)的舊裝置與軟體,開始在使用 Let's Encrypt 的網站上顯示憑證警告(舊版 Android 裝置則因特別的安排而得以繼續運作)。網站的憑證明明正確續期了,使用舊裝置的使用者卻再也連不上。

如果你營運的是舊裝置會連線的 API 或系統,請關注 Let's Encrypt 的公告,為中繼憑證與根憑證的變更做好準備。Let's Encrypt 建議不要在設定中寫死中繼憑證,而是使用 ACME 用戶端收到的憑證鏈。

接下來閱讀

出處(一手資料)

  • Let's Encrypt 官方部落格(2025 年 12 月 2 日,將效期縮短為 45 天的計畫)— letsencrypt.org(64 天與 45 天的日期、驗證重複使用期間、建議使用 ARI)
  • Let's Encrypt 官方部落格(2026 年 1 月 15 日,6 天憑證與 IP 位址憑證正式提供)— letsencrypt.org
  • Let's Encrypt 官方部落格(2024 年 12 月 5 日,結束 OCSP)— letsencrypt.org(移除 OCSP URL 與關閉回應伺服器的日期)
  • Let's Encrypt 官方部落格(2025 年 1 月 22 日,結束到期通知信)— letsencrypt.org
  • Let's Encrypt「Challenge Types」— letsencrypt.org
  • Let's Encrypt「Integration Guide」— letsencrypt.org(續期時機、不要寫死中繼憑證)
  • Let's Encrypt「DST Root CA X3 Expiration (September 2021)」— letsencrypt.org
  • CA/Browser Forum「Ballot SC081v3」(2025 年 4 月 11 日通過)— cabforum.org(公開憑證的最長效期在 2029 年 3 月達到 47 天)

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 記錄裡。

Q如何確認我的 Let's Encrypt 憑證何時到期?
A

從瀏覽器網址列的鎖頭圖示開啟憑證,就能看到到期日與簽發者。在伺服器上,certbot certificates 會列出你的憑證及其到期日。Let's Encrypt 已在 2025 年 6 月停止寄送到期通知信,所以請設定定期從外部檢查剩餘天數。

Q憑證什麼時候會變成 45 天?
A

根據 Let's Encrypt 的說明,預設憑證自 2027 年 2 月 10 日起變為 64 天,自 2028 年 2 月 16 日起變為 45 天。自 2026 年 5 月 13 日起,可以用 tlsserver 設定檔提前選用 45 天的憑證。使用支援 ARI(由 CA 告訴用戶端何時續期)的 ACME 用戶端,或在效期過了三分之二時續期,效期縮短也不會造成問題。

QOCSP 結束之後,我需要做什麼嗎?
A

一般的網站不需要。Let's Encrypt 在 2025 年 5 月從憑證中移除了 OCSP URL,8 月關閉了回應伺服器,撤銷檢查改用 CRL。如果你的設定要求 OCSP Must-Staple,或你執行的是預期有 OCSP URL 的自訂用戶端,請檢視該設定。