快速答案:現在的主機幾乎都用免費、自動續期的憑證,所以「憑證到期」多半是自動續期失敗,而失敗九成是 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 記錄,補上就好。
一家客戶搬主機時搬到一半卡住,新舊主機都沒有正確的憑證,前台整個紅字;一個已停用的站憑證失效沒人管,直到我們全站盤點才發現。也有客戶是 Cloudflare 代理擋住了主機端的檔案,看起來像憑證問題,其實是 Cloudflare 設定。
什麼時候該找人 #
DNS 在別人手上(代管廠商、前一家設計公司)、網域本身快到期或已到期、或 SSL 壞掉的同時前台也 500。這幾種都不是重發憑證能解決的,先弄清楚誰握有網域和 DNS 的控制權。
WPTOOLBEAR網站工具熊