🔒 加密筆記 encryption.hk
[]

SSL證書過期點樣更新?2026年網站加密連線中斷嘅完整急救指南

SSL證書過期會導致網站出現HTTPS連線錯誤,影響用戶信任同SEO排名。本文詳細講解SSL證書更新步驟,包括Let's Encrypt自動續期設定、手動更新方法同TLS證書管理技巧,幫你快速恢復網站加密連線。

NaN年NaN月NaN日

點解SSL證書過期係個大問題?

根據Google透明度報告,2026年全球超過95%嘅網頁流量已經通過HTTPS加密傳輸。當你嘅SSL證書過期,瀏覽器會顯示「你的連線不是私人連線」或「NET::ERR_CERT_DATE_INVALID」等HTTPS連線錯誤,直接將訪客拒之門外。Let’s Encrypt嘅2026年統計顯示,全球仍有約3.2%嘅網站因為證書管理不善而出現過期情況,當中超過七成係因為忘記續期或自動續期設定出錯。

SSL證書唔單止影響用戶體驗,仲會直接損害搜尋引擎排名。Google自2014年起就將HTTPS列為排名信號,到2026年呢個權重進一步提高。證書過期期間,網站流量平均下跌四成以上,電商網站更可能因此損失大量訂單。所以,掌握SSL證書更新嘅正確方法,係每個網站管理員必須具備嘅技能。

檢查SSL證書狀態嘅快速方法

喺開始更新之前,你需要先確認證書嘅實際狀態。最簡單嘅方法係用瀏覽器打開網站,撳一下網址列旁邊嘅鎖頭圖示,就可以睇到證書嘅有效日期同發行機構。不過,當你管理多個網站嘅時候,逐個手動檢查就太花時間。

你可以用命令行工具快速檢查。喺終端機輸入以下指令:

openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates

呢個指令會顯示證書嘅生效日期到期日期。對於批量管理,TLS證書管理工具例如Certbot、acme.sh或者商用監控平台,都可以設定到期前自動提醒。建議設定喺證書到期前30日同7日分別發送通知,確保有足夠時間處理。

Let’s Encrypt自動續期設定教學

Let’s Encrypt係目前最普及嘅免費SSL證書供應商,2026年已經發行超過3億張證書。佢嘅證書有效期只有90日,所以自動續期設定係必須嘅。如果你用Certbot,正確安裝之後通常會自動建立定時任務。

你可以手動檢查Certbot嘅自動續期設定係咪正常運作:

sudo certbot renew --dry-run

呢個指令會模擬續期過程,唔會真正更新證書。如果冇報錯,代表自動續期設定正確。實際上,Certbot會喺系統嘅crontab或systemd timer加入每日檢查兩次嘅任務,確保證書喺到期前30日自動更新。

常見問題:自動續期失敗嘅原因通常係防火牆阻擋咗ACME協議嘅驗證請求,或者網站伺服器設定阻止咗Let’s Encrypt嘅驗證路徑(/.well-known/acme-challenge/)。確保呢個路徑可以正常訪問,係Let’s Encrypt教學入面最關鍵嘅一步。如果你用Nginx,可以喺server block加入以下設定:

location ^~ /.well-known/acme-challenge/ {
    root /var/www/html;
    allow all;
}

手動更新SSL證書嘅完整步驟

當自動續期失敗,或者你用緊商業證書需要手動更新,以下係標準嘅SSL證書更新流程:

第一步,生成新嘅私鑰同CSR(證書簽名請求)。用OpenSSL指令:

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

第二步,將CSR提交畀證書發行機構(CA)。如果你用商業證書,登入CA嘅管理後台,貼上CSR內容完成驗證。Let’s Encrypt用戶可以用Certbot嘅手動模式:

sudo certbot certonly --manual -d yourdomain.com

第三步,下載新證書之後,替換伺服器上嘅舊證書檔案。記住要同時更新中繼證書(intermediate certificate),組成完整嘅證書鏈。唔完整嘅證書鏈會導致部分瀏覽器出現HTTPS連線錯誤

第四步,重啟網頁伺服器。Nginx用sudo systemctl reload nginx,Apache用sudo systemctl reload apache2。重啟之後,用SSL Labs嘅測試工具檢查證書安裝係咪正確。

網站加密設定嘅最佳實踐

更新完證書之後,順便檢查一下你嘅網站加密設定係咪符合2026年嘅安全標準。TLS 1.0同1.1已經喺2021年被正式淘汰,而家最低要求係TLS 1.2,建議啟用TLS 1.3以獲得最佳效能同安全性。

喺Nginx嘅SSL設定入面,建議使用以下配置:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;

啟用HSTS(HTTP Strict Transport Security)可以強制瀏覽器只用HTTPS訪問你嘅網站,避免SSL剝離攻擊。設定方法係喺回應頭加入:

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;

另外,記得設定OCSP Stapling,呢個功能可以加速證書撤銷狀態嘅檢查,減少用戶等待時間。喺Nginx加入ssl_stapling on;ssl_stapling_verify on;就得。

處理HTTPS連線錯誤嘅急救技巧

當網站已經出現HTTPS連線錯誤,你需要快速判斷問題根源。除咗證書過期,常見原因仲包括:系統時間錯誤、證書域名不匹配、證書鏈不完整、混合內容問題。

系統時間檢查:伺服器時間唔準確會導致瀏覽器誤判證書有效期。用date指令檢查,必要時用NTP同步時間。

域名檢查:確保證書涵蓋所有使用中嘅域名同子域名。如果你用CDN服務,記住CDN供應商嘅證書設定都要一齊更新。部分CDN會提供自動續期嘅共用證書,但自訂域名就需要手動上傳。

混合內容修復:證書更新之後,如果網頁仍然顯示不安全,可能係因為頁面入面有HTTP資源。用瀏覽器開發者工具嘅Console檢查,將所有圖片、腳本、樣式表嘅連結改為HTTPS。

建立長期嘅TLS證書管理策略

TLS證書管理唔應該係出事之後先處理嘅項目。建立一套完整嘅管理流程,可以避免證書過期嘅尷尬情況。2026年嘅趨勢係採用證書生命週期自動化,好多企業已經轉用ACME協議自動管理內部證書。

建議實施以下管理措施:

FAQ

Let’s Encrypt證書有效期係90日,2026年有冇計劃縮短?

Let’s Encrypt喺2026年仍然維持90日有效期,未有官方計劃進一步縮短。不過,業界趨勢係向更短有效期發展,Apple喺2025年提出未來可能要求證書有效期縮短到45日。建議而家就建立好自動續期機制,以適應未來變化。

證書更新之後,點解Google Chrome仍然顯示「不安全」?

呢個情況通常有三個原因:第一,瀏覽器緩存咗舊嘅證書狀態,可以嘗試清除瀏覽器緩存或者用無痕模式測試;第二,證書鏈唔完整,中繼證書冇正確安裝;第三,網站存在混合內容,即係HTTPS頁面入面加載咗HTTP資源。用Chrome嘅開發者工具(F12)檢查Security分頁可以睇到詳細錯誤。

如果網站使用CDN,SSL證書更新步驟有咩唔同?

使用CDN嘅網站需要同時更新源站證書CDN邊緣證書。大部分CDN供應商(例如Cloudflare)會提供免費嘅邊緣證書,自動續期。但如果你使用自訂證書上傳到CDN,就要記住兩邊都要更新。建議先用CDN嘅開發模式或暫停代理功能,確認源站證書更新成功之後,再更新CDN設定。

2026年TLS 1.3嘅普及率有幾高?我應該升級嗎?

根據IETF嘅統計,2026年全球TLS 1.3嘅使用率已經達到78%。TLS 1.3嘅握手速度比1.2快一倍,安全性亦更高。強烈建議升級,只需要喺伺服器設定加入TLSv1.3就可以,唔需要額外費用。主流伺服器軟件(Nginx 1.13+、Apache 2.4.36+)都已經支援。

參考資料

tags: SSL證書更新Let's Encrypt教學HTTPS連線錯誤網站加密設定TLS證書管理