快速答案:現在的主機幾乎都用免費、自動續期的憑證,所以「憑證到期」多半是自動續期失敗,而失敗九成是 DNS 沒指到現在的主機(尤其 www 那一條),或 Cloudflare 的設定擋住了驗證。把 DNS 修對,再回主機面板重發憑證就好。
為什麼會這樣 #
免費憑證(Let’s Encrypt)每 90 天續一次,續期時會從外部連你的網域驗證「這個網域真的指向這台主機」。主網域有 A 記錄但 www 沒有 CNAME、或 www 還指著舊主機,www 那張就發不出來,訪客打 www 就看到「不安全」。網域掛 Cloudflare 但 SSL 模式選成 Flexible,會出現轉址迴圈或憑證警告。網站搬家搬到一半、舊主機的憑證過期,也是常見劇情。
還有一種根本不是問題:你收到「憑證即將到期」的信,其實是舊主機商或舊服務寄的,網站早就搬走了。
怎麼處理 #
- 看瀏覽器的錯誤類型:「憑證已過期」、「名稱不符」(憑證只涵蓋主網域沒有 www)、「不受信任」。三種原因不同。
- 查 DNS:主網域的 A 記錄和 www 的記錄是否都指向現在的主機。用
dig或任何線上 DNS 查詢工具,順便看看是不是在 Cloudflare 上。 - DNS 修對之後,到主機面板重新申請憑證,主網域和 www 都要勾。
- 有 Cloudflare 的站:SSL 模式選 Full (strict),前提是主機端要先有有效憑證。
- WordPress「設定 → 一般」的兩個網址都要是 https,否則會有混合內容或迴圈。
- 收到到期通知先問一句:這是現在的主機寄的嗎?是舊的就可以忽略。
我們實際遇過的情況 #
一家電商收到「憑證將於某日到期」的通知信,我們照著處理續期。收到這種信第一步是先確認寄件的是不是現在這台主機——舊主機商或舊服務也會繼續寄,通知不等於問題。另一個網站則是 SSL 一直套用不到 www:這種要從 www 那一條 DNS 記錄查起,先看有沒有這筆記錄、指的是不是現在的主機,再回主機面板把主網域和 www 一起重發。
移機前後是憑證最容易出狀況的時候:DNS 還沒完全指到新主機以前,新主機發不出憑證,舊主機那張又在倒數,前台就會一路紅字;我們有個站的移機和「SSL 套用不到 www」就是前後腳發生的。也遇過看起來像憑證問題、其實出在 Cloudflare 的情形——整站被 Cloudflare 的安全設定擋住時,外部驗證一樣連不進來,但網站本身檢查完全正常,把 Cloudflare 暫停測一次就分得出來。
什麼時候該找人 #
DNS 在別人手上(代管廠商、前一家設計公司)、網域本身快到期或已到期、或 SSL 壞掉的同時前台也 500。這幾種都不是重發憑證能解決的,先弄清楚誰握有網域和 DNS 的控制權。
WPTOOLBEAR網站工具熊