View Categories

網站 SSL 憑證到期、www 沒有 HTTPS:先看 DNS 再重發憑證

< 1 分鐘閱讀

快速答案:現在的主機幾乎都用免費、自動續期的憑證,所以「憑證到期」多半是自動續期失敗,而失敗九成是 DNS 沒指到現在的主機(尤其 www 那一條),或 Cloudflare 的設定擋住了驗證。把 DNS 修對,再回主機面板重發憑證就好。

為什麼會這樣 #

免費憑證(Let’s Encrypt)每 90 天續一次,續期時會從外部連你的網域驗證「這個網域真的指向這台主機」。主網域有 A 記錄但 www 沒有 CNAME、或 www 還指著舊主機,www 那張就發不出來,訪客打 www 就看到「不安全」。網域掛 Cloudflare 但 SSL 模式選成 Flexible,會出現轉址迴圈或憑證警告。網站搬家搬到一半、舊主機的憑證過期,也是常見劇情。

還有一種根本不是問題:你收到「憑證即將到期」的信,其實是舊主機商或舊服務寄的,網站早就搬走了。

怎麼處理 #

  1. 看瀏覽器的錯誤類型:「憑證已過期」、「名稱不符」(憑證只涵蓋主網域沒有 www)、「不受信任」。三種原因不同。
  2. 查 DNS:主網域的 A 記錄和 www 的記錄是否都指向現在的主機。用 dig 或任何線上 DNS 查詢工具,順便看看是不是在 Cloudflare 上。
  3. DNS 修對之後,到主機面板重新申請憑證,主網域和 www 都要勾。
  4. 有 Cloudflare 的站:SSL 模式選 Full (strict),前提是主機端要先有有效憑證。
  5. WordPress「設定 → 一般」的兩個網址都要是 https,否則會有混合內容或迴圈。
  6. 收到到期通知先問一句:這是現在的主機寄的嗎?是舊的就可以忽略。

我們實際遇過的情況 #

一家電商收到「憑證將於某日到期」通知,查了才知道是舊主機商寄的,網站早已搬到新主機且自動續期正常,通知不等於問題。一家客戶的 SSL 一直無法套用到 www,原因就是 www 根本沒有 DNS 記錄,補上就好。

一家客戶搬主機時搬到一半卡住,新舊主機都沒有正確的憑證,前台整個紅字;一個已停用的站憑證失效沒人管,直到我們全站盤點才發現。也有客戶是 Cloudflare 代理擋住了主機端的檔案,看起來像憑證問題,其實是 Cloudflare 設定。

什麼時候該找人 #

DNS 在別人手上(代管廠商、前一家設計公司)、網域本身快到期或已到期、或 SSL 壞掉的同時前台也 500。這幾種都不是重發憑證能解決的,先弄清楚誰握有網域和 DNS 的控制權。

常見問題 #

收到憑證即將到期的信要怎麼辦? #

先確認是不是現在的主機寄的,舊主機或舊服務寄的可以忽略,現在的主機通常會自動續期。

主網域有 HTTPS 但 www 沒有? #

www 沒有 DNS 記錄或指向舊主機,補上 CNAME 指向主網域後重新申請憑證並勾選 www。

用 Cloudflare 出現轉址迴圈? #

SSL 模式改成 Full (strict),並確認主機端已有有效憑證。

網站正在出這個問題?網站救援當日受理;想有人每月幫你盯著憑證和網域:網站守護方案