適合在 v2rayN、v2rayNG 或 v2flyNG 日誌中看到憑證驗證失敗的使用者。先查看底層錯誤,再同步系統時間、核對 TLS 的 SNI 與憑證名稱,最後檢查伺服器端憑證鏈。全程保持憑證驗證開啟,每次只調整一項設定,避免把暫時連線成功誤認為問題已排除。
先看日誌:分辨憑證錯誤與連線逾時
節點顯示無法連線,不一定是 TLS 問題。TLS 交握發生在底層連線建立後、傳輸代理協定資料前;只有日誌明確出現 x509、certificate 或具體的交握失敗原因,才適合從憑證方向排查。單獨出現 context deadline exceeded 只表示等待逾時,不能據此判定憑證已過期。
在 v2rayN 主視窗查看底部的日誌區域;如果目前版本將日誌放在獨立入口,開啟「日誌」後再重新連線一次。在 v2rayNG 主畫面側邊選單開啟「日誌」,停止服務後重新啟動,找到剛產生的記錄。v2flyNG 也應查看本次連線的核心日誌,不要把先前的失敗記錄當成目前結果。不同版本的入口位置可能不同,請以實際介面為準。
- 記下用戶端版本、目前核心類型、連線時間及完整底層錯誤,不要只截取最外層的「連線失敗」。
- 暫時停止瀏覽器背景請求,再重新連線一次,減少多筆錯誤交錯造成的誤判。
- 分享日誌前請隱去訂閱連結、認證識別資訊和伺服器位址;保留錯誤類型、時間戳記,以及已遮蔽的網域對應關係。
根據 x509 錯誤原文判斷檢查方向
以下列出常見的實際錯誤片段。完整日誌可能包含核心前綴、憑證名稱或日期,措辭也可能隨核心版本而異。請查看最內層的錯誤原因;尤其是有效期限錯誤,必須比對其中的目前時間與憑證有效期限,不能只看到「已過期」就要求更換節點。
錯誤:x509: certificate has expired or is not yet valid
原因與處理方式:用戶端判定憑證不在有效期限內。先核對系統時間;若時間正確但錯誤仍重現,請伺服器維護者檢查憑證的起迄日期及續期部署狀況。
錯誤:x509: certificate signed by unknown authority
原因與處理方式:憑證鏈無法連結至受信任的根憑證,可能是缺少中繼憑證、使用私有憑證,或系統信任存放區有問題。請確認憑證來源及伺服器端提供的完整憑證鏈;受管理的裝置也需檢查網路的憑證替換政策。
錯誤:x509: cannot validate certificate for 192.0.2.1 because it doesn't contain any IP SANs
原因與處理方式:用戶端正以 IP 位址驗證一張未包含相符 IP 類型 SAN 的憑證。此處位址僅供文件示範;實際設定應依伺服器提供的資料,填入憑證涵蓋的 TLS 名稱,而非任意更換網域。
錯誤:remote error: tls: handshake failure
原因與處理方式:遠端中止 TLS 交握,不一定是本機憑證驗證失敗。請核對 SNI、連接埠、TLS 設定及伺服器端的連線要求,再請維護者比對同一時間的伺服器日誌。
如果日誌指出憑證適用於某個名稱,卻不適用於目前名稱,請優先檢查 SNI 和驗證名稱。若只有 EOF 或連線遭重設,也可能是該連接埠上的服務不接受目前的交握方式,不應直接歸因於系統時間。
同步系統時間:先校正時鐘,再判斷憑證是否過期
憑證包含生效時間與到期時間。裝置時間若落在這段期間之外,即使伺服器端設定正常,也會被判定為尚未生效或已過期。切換雙系統、主機板電池異常、長時間未連線及手動調整日期,都可能造成時間偏差。時區主要影響時間顯示;只修正時區,並不代表系統記錄的實際時間已正確。
-
核對日期與時間
先檢查年、月、日及小時。在 Windows PowerShell 執行
Get-Date -Format o,查看包含時區偏移的完整時間,再與可信任的時鐘比對。 -
同步時鐘
在 Windows 11 開啟「設定」→「時間與語言」→「日期與時間」,啟用「自動設定時間」,再於「其他設定」中按一下「立即同步」。若同步失敗,請先排除網路或時間服務問題。
-
檢查 Android 時間設定
Android 常見路徑為「設定」→「系統」→「日期與時間」,開啟「自動設定時間」及「自動設定時區」。各廠牌選單可能不同,可在設定中搜尋「日期和時間」,並確認顯示時間已更新。
-
重新連線
同步完成後,停止並重新啟動用戶端連線,查看新產生的日誌。如果目前時間正確,而憑證到期日確實已過,應由伺服器端續期並重新載入憑證。
Windows 也可透過 w32tm /query /status 查看時間同步來源與狀態;若命令回報服務未執行,應先檢查 Windows Time 服務,而不是不斷重新啟動代理核心。受組織政策管理的裝置,應聯絡管理員修復指定的時間來源,不要自行覆寫管理政策。
SNI 與偽裝網域:分別核對位址、名稱和 Host
SNI 是 TLS 交握中用來告知伺服器目標名稱的擴充功能,伺服器可據此選擇憑證或虛擬主機。通常填入的 TLS 伺服器名稱也會用於憑證名稱驗證,但部分核心支援另外指定驗證名稱,因此還要檢查是否有明確覆寫。伺服器提供資料中的「偽裝網域」並非定義一致的欄位,必須先確認它指的是 SNI、HTTP Host,還是其他傳輸參數。
| 設定項目 | 實際用途 | 檢查重點 |
|---|---|---|
| 位址與連接埠 | 決定要連線至哪個伺服器入口。 | 位址可以是網域或 IP;連接埠必須與伺服器端一致,不要因為使用 TLS 就一律改成 443。 |
| SNI / serverName | 通常用來傳送 TLS 名稱,並作為憑證名稱驗證的依據。 | 填入伺服器要求的純網域名稱,不含通訊協定前綴、路徑或連接埠。 |
| 憑證 SAN | 列出憑證允許驗證的 DNS 名稱或 IP 位址。 | 驗證名稱必須包含在憑證中;萬用字元 *.example.com 通常不涵蓋 example.com 或更深層的子網域。 |
| WebSocket Host | 用於 TLS 之後的 HTTP 請求路由。 | 依傳輸設定填寫;修改 Host 無法直接修正先前發生的憑證名稱不符問題。 |
| WebSocket Path | 指定 HTTP 升級請求的路徑。 | 請保留伺服器提供的路徑;路徑錯誤通常與憑證驗證無關。 |
在 v2rayN 中雙擊目標節點,進入節點編輯視窗,核對 TLS 區域中的「SNI」或相應的伺服器名稱欄位;在 v2rayNG 中點選節點右側的編輯圖示,檢查 TLS 設定中的「SNI」。欄位名稱可能因版本而異,請以 TLS 區域為準,不要把傳輸設定中的「Host」當成同一項。v2flyNG 也應使用符合目前核心及節點協定的欄位。
例如,伺服器明確要求使用 edge.example.com 作為 TLS 名稱時,此欄不可填入 https://edge.example.com/。此處網域僅用來說明格式,並非可用的節點參數。伺服器位址是 IP 不一定有問題:只要連線目標正確,且 TLS 使用經授權並受憑證涵蓋的名稱,就不必勉強把位址欄也改成該網域。
結論:先確認 TLS 名稱,再調整傳輸參數
日誌明確指出名稱不符時,先比對伺服器提供的 SNI 與憑證 SAN;只有憑證驗證通過後仍發生 HTTP 或升級失敗,才繼續核對 Host 和路徑。
保持憑證驗證:檢查伺服器端憑證鏈與網路環境
「略過憑證驗證」可能顯示為 allowInsecure 或類似選項。啟用後,用戶端可能不再正常檢查憑證鏈或名稱;這不代表伺服器身分已獲確認,也沒有修正原本的設定問題。排查時應保持此選項關閉;若先前已啟用,請恢復驗證,再依重新出現的確切錯誤找出原因。
- 只有一個節點異常:請維護者檢查憑證有效期限、完整的中繼憑證鏈、SNI 對應的虛擬主機,以及續期後伺服器是否已重新載入憑證。
- 多個節點同時異常:先檢查本機時鐘、系統更新及目前網路。公司網路或安全軟體的 HTTPS 檢查可能改變憑證信任路徑,但必須有證據,不能只憑錯誤訊息就認定遭到攔截。
- 切換網路後恢復:檢查原網路是否需要網頁驗證、DNS 是否解析至預期入口,以及網路政策是否影響 TLS。不要為了連線而安裝來源不明的根憑證。
- 私有憑證情境:只有在有明確管理要求,且能確認簽發者與憑證來源時,才依管理員指示設定信任;一般訂閱使用者應先向提供者確認設定。
本文主要說明一般 TLS 憑證驗證。若節點安全類型為 REALITY,請進一步核對伺服器提供的伺服器名稱、公鑰、短識別碼及用戶端核心支援情況,不可直接套用一般憑證續期的處理方式。v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心,兩者支援的協定與安全參數並不完全相同,不能只更改用戶端名稱就認定設定一定相容。
恢復連線後的檢查與常見問題
每次修改後都應重新建立連線,並查看新日誌。舊連線仍在使用,或訂閱更新覆蓋手動參數,都可能讓前後結果看似矛盾。不要一次修改時間、SNI、DNS 和路由;每一步都記下修改項目及新錯誤,才能確認是哪項設定生效。
時間已同步,為什麼仍顯示憑證過期?
比對錯誤中的目前時間與憑證到期時間。如果本機時間正確,且憑證確實已過期,請將遮蔽敏感資訊後的錯誤訊息和發生時間提供給維護者,請對方檢查續期結果及目前使用的憑證。
瀏覽器能正常開啟網域,為什麼用戶端仍報錯?
瀏覽器可能連到不同連接埠或入口,也可能使用不同的信任存放區。請比對節點位址、連接埠及 SNI,不要把瀏覽器能開啟首頁當成代理入口憑證正常的證據。
修改 SNI 後可以連線,更新訂閱後又失敗怎麼辦?
重新編輯節點,確認該欄位是否被訂閱內容覆蓋。請向提供者反映訂閱中的 TLS 參數;若需暫時比對,可保留獨立的測試設定,但之後仍應以修正後的訂閱為準。
關閉驗證後才能連線,是否代表問題已排除?
不是。請重新關閉「略過憑證驗證」,依錯誤類別修正時間、名稱或信任鏈。只有在正常驗證開啟的情況下仍能重新連線,才算解決原本的憑證問題。
- 確認系統自動同步時間正常,日期與時區顯示正確。
- 確認節點的 TLS 名稱與伺服器資料一致,且未略過憑證驗證。
- 停止後重新連線,確認新日誌不再出現同類憑證錯誤。
- 若仍無法連線,請提供用戶端與核心版本、發生時間、已檢查項目及遮蔽敏感資訊後的底層錯誤,避免直接傳送完整訂閱內容。