“您的連線不是私密連線”是最常見的 SSL 錯誤。它表示瀏覽器檢測到網站的 SSL 證書存在問題,拒絕建立安全連線。該錯誤在 Chrome 中顯示為 NET::ERR_CERT_*,在 Firefox 中顯示為”警告:面臨潛在的安全風險”,在 Safari 中顯示為”此連線不是私密連線”。
本指南涵蓋兩端的修復方法:如果你是看到錯誤的訪客,以及如果你是網站管理員而訪客報告此錯誤。
如果你是訪客(快速修復)
這些步驟修復的是用戶端原因——你裝置上的問題,而非網站的問題。
1. 重新整理頁面
該錯誤有時是暫時的——TLS 握手期間的網路故障。按 F5 或 Ctrl+R。
2. 檢查裝置的日期和時間
SSL 證書有有效期。如果你電腦的時鐘不對,瀏覽器會認為證書已過期或尚未生效。修復:
- Windows: 設定 → 時間和語言 → 自動設定時間
- macOS: 系統設定 → 通用 → 日期與時間 → 自動設定
- Linux:
sudo timedatectl set-ntp true
3. 嘗試隱身/無痕模式
如果在隱身模式下正常但普通模式不行,說明有瀏覽器擴充套件在干擾——通常是檢查 HTTPS 流量的防毒軟體、VPN 或廣告攔截器。逐個禁用擴充套件找出問題。
4. 清除瀏覽器快取和 SSL 狀態
瀏覽器可能快取了舊證書:
- Chrome: 設定 → 隱私 → 清除瀏覽資料 → 快取的圖片和檔案
- Windows: Internet 屬性 → 內容 → 清除 SSL 狀態
- macOS: 鑰匙串訪問 → 搜尋該域名 → 刪除快取條目
5. 檢查網路
企業代理、酒店 Wi-Fi 強制門戶和一些 VPN 會注入自己的證書。嘗試:
- 斷開 VPN 再試
- 切換到其他網路(如手機熱點)
- 如果在酒店/機場 Wi-Fi,先連線強制門戶
6. 更新瀏覽器
舊版瀏覽器可能不信任較新的憑證授權機構或不支援現代 TLS。更新到最新版本。
應該點選”繼續前往”嗎? 只有當你理解風險並信任該網站時才可以(例如你自己的開發伺服器使用自簽名證書)。絕不要在銀行、郵箱或購物網站上繞過警告。
如果你是網站管理員(服務端修復)
你的訪客看到此錯誤是因為 SSL 配置有問題。以下是每種原因的診斷和修復方法。
原因 1:證書過期
最常見的原因。 Let’s Encrypt 證書每 90 天過期。
診斷:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates
修復: 續簽你的證書。使用 GetHTTPS,只需 5 分鐘。然後替換檔案並重新載入伺服器。
原因 2:證書與域名不匹配
證書籤發給了 example.com 但你訪問的是 www.example.com(或反之)。
診斷:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -ext subjectAltName
修復: 獲取包含裸域名和 www 的新證書。在 GetHTTPS 中,同時新增 example.com 和 www.example.com。
原因 3:證書鏈不完整
你的伺服器沒有傳送中間證書。瀏覽器無法構建從你的證書到根憑證授權機構的信任路徑。
診斷:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep "Verify return code"
# "21 (unable to verify the first certificate)" = chain incomplete
修復:
- Nginx: 在
ssl_certificate中使用fullchain.pem(而非cert.pem) - Apache: 新增
SSLCertificateChainFile chain.pem
原因 4:自簽名證書
自簽名證書不被瀏覽器信任——沒有憑證授權機構為其背書。
修復: 替換為來自 Let’s Encrypt(免費)或商業憑證授權機構的真實證書。
原因 5:提供了錯誤的證書
如果你在一臺伺服器上託管多個網站,可能提供了錯誤的證書(SNI 配置錯誤)。
診斷:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -subject
# Check the CN matches your domain
修復: 確保每個 server 塊(Nginx)或 <VirtualHost>(Apache)都有對應域名的正確 ssl_certificate。
原因 6:TLS 版本過舊
你的伺服器只支援已被瀏覽器放棄的舊 TLS 版本(1.0/1.1)。
修復:
# Nginx
ssl_protocols TLSv1.2 TLSv1.3;
# Apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
原因 7:Cloudflare “Flexible” SSL 模式
Cloudflare 的”Flexible”模式在源站沒有有效證書時會導致此錯誤。
修復: 在源站安裝證書(GetHTTPS 或 Cloudflare Origin CA)並切換到”Full (Strict)“模式。
原因 8:HSTS 快取了錯誤狀態
如果你之前傳送了 HSTS 頭但後來 HTTPS 出了問題,瀏覽器會拒絕回退到 HTTP 連線。
修復: 使用有效證書恢復 HTTPS。如果在測試中,使用短的 HSTS max-age(如 300 秒)直到你確認一切正常。
錯誤程式碼參考
| Chrome 錯誤程式碼 | 含義 | 常見修復 |
|---|---|---|
NET::ERR_CERT_DATE_INVALID | 證書過期或尚未生效 | 續簽證書 或修復系統時鐘 |
NET::ERR_CERT_COMMON_NAME_INVALID | 域名與證書不匹配 | 獲取正確域名的證書 |
NET::ERR_CERT_AUTHORITY_INVALID | 自簽名或不受信任的憑證授權機構 | 使用受信任的憑證授權機構如 Let’s Encrypt |
NET::ERR_CERT_REVOKED | 證書已被吊銷 | 獲取新證書 |
NET::ERR_SSL_PROTOCOL_ERROR | TLS 握手失敗 | 檢查伺服器 TLS 配置 |
NET::ERR_SSL_VERSION_OR_CIPHER_MISMATCH | 無共同的 TLS 版本/加密套件 | 在伺服器上啟用 TLS 1.2+ |
SSL_ERROR_HANDSHAKE_FAILURE_ALERT | (Firefox) 握手被拒絕 | 檢查伺服器證書和配置 |
常見問題
點選”繼續”/“接受風險”安全嗎?
僅在你信任該網站並理解風險時——如你自己的開發伺服器使用自簽名證書。絕不要在銀行、電商、郵箱或社交媒體網站上繞過警告。警告存在是因為可能有人在攔截你的流量。
我的網站顯示此錯誤,如何最快修復?
前往 GetHTTPS,獲取新的免費證書,安裝它,重新載入 Web 伺服器。5 分鐘搞定。如果錯誤持續,檢查錯誤程式碼——它會告訴你確切的問題(過期、域名錯誤、缺少證書鏈等)。
某些裝置上出現錯誤但其他裝置正常
通常是證書鏈問題——你的伺服器沒有傳送中間證書。一些瀏覽器/系統從之前的訪問中快取了中間證書,但新裝置沒有。透過在伺服器上使用 fullchain.pem 來修復。
我的證書有效但仍然看到錯誤
檢查:域名不匹配(www 與非 www)、證書鏈不完整、HSTS 快取了之前的失敗、或者代理/CDN 提供了不同的證書。使用 openssl s_client 檢視伺服器實際提供的證書。