適用於節點已匯入,但連線時出現 TLS 或 x509 錯誤的情況。先確認錯誤發生在下載訂閱,還是連線節點,再依序檢查系統時間、憑證網域、信任鏈與指紋。每次只修改一個欄位,並保留原始節點作為比對;不要把關閉憑證驗證當成修復方式。
先分清訂閱錯誤與節點握手失敗
「TLS 握手失敗」並非單一原因。訂閱網址使用 HTTPS 時會建立一次 TLS 連線;用戶端連線至啟用 TLS 的代理節點時,還會建立另一條連線。瀏覽器連線至 HTTPS 網站時,也會自行驗證憑證。這三種錯誤都可能出現 x509,但需要檢查的項目各不相同。
如果按下更新訂閱後立刻出現錯誤,且節點清單尚未變動,請優先檢查訂閱網址所屬網站的憑證。如果訂閱更新正常,但選取某個節點瀏覽網頁時核心回報錯誤,才檢查該節點的 TLS 設定。若只有瀏覽器顯示憑證異常,核心沒有相關錯誤,還要檢查瀏覽器的信任庫、網路登入頁面與本機 HTTPS 檢查軟體。
- 記下觸發錯誤的操作:更新訂閱、連線節點,還是開啟某個網站;不要只記下「連線失敗」四個字。
- 記下錯誤時間:先查看用戶端記錄,再發出一次請求,找出同一時間的底層錯誤,不要只看最後一行摘要。
- 檢查安全層:VMess、VLESS 是代理協定名稱,不代表所有節點都使用一般 TLS。若安全層是 REALITY,請核對專用參數,不能直接套用一般 TLS 的所有判斷方式。
根據錯誤原文判斷檢查方向
記錄中可能會在以下英文訊息前後附上伺服器位址、時間與核心呼叫資訊。閱讀時請找出最具體的原因。只有 EOF 或 context deadline exceeded,不能證明是憑證問題;也可能是伺服器主動中斷、網路遭阻擋或握手逾時。
錯誤:x509: certificate has expired or is not yet valid
原因:目前時間不在憑證有效期限內,可能是裝置時鐘錯誤,也可能是伺服器憑證已過期。處理方式:先同步裝置時間;時間正確後仍出現錯誤,請將記錄中的有效期限資訊提供給服務供應商,確認憑證部署狀況。
錯誤:x509: certificate is valid for …, not …
原因:用戶端驗證的名稱不在伺服器憑證允許的網域範圍內;省略處會顯示實際網域。處理方式:核對節點的 SNI、serverName 與供應商提供的憑證網域,不要只修改連線位址。
錯誤:x509: certificate signed by unknown authority
原因:憑證鏈無法連結至受信任的根憑證,常見原因包括缺少中繼憑證、使用自簽憑證,或本機信任庫異常。處理方式:先更換網路進行比對,再請伺服器端檢查完整憑證鏈;不要任意安裝來源不明的根憑證。
錯誤:remote error: tls: handshake failure
原因:遠端拒絕握手,可能與 SNI、TLS 參數、協定入口或伺服器端政策有關。處理方式:還原訂閱中的原始參數,確認連接埠與安全層設定一致,再搭配伺服器端記錄繼續排查,不要直接關閉驗證。
系統時間:先同步,再重新連線
憑證驗證比對的是絕對時間,不只是螢幕顯示的時數。時區顯示不同但絕對時間正確,通常不會造成憑證失效;手動將時鐘調快或調慢,則可能觸發錯誤。裝置長時間關機、切換雙系統或自動校時失敗後,尤其應先檢查這項設定。
-
同步電腦時間
在 Windows 開啟「設定」→「時間與語言」→「日期與時間」,啟用「自動設定時間」,確認時區後,再按一下「立即同步」。若同步失敗,先確認一般網路連線正常,不要反覆修改節點設定。
-
同步手機時間
Android 通常可在「設定」→「系統」→「日期與時間」中啟用「自動設定時間」和「自動設定時區」。部分裝置也能直接在設定中搜尋「日期與時間」;選單名稱依系統版本而異。
-
重新建立連線
在 v2rayN 重新啟動核心;在 v2rayNG 停止連線後再重新啟動。重新發出請求並查看最新記錄,避免把校時前留下的錯誤當成目前結果。
-
確認有效期限
時間恢復正確後,若仍出現有效期限錯誤,請記下記錄中的目前時間、憑證起訖時間與時區。若憑證確實已過期,必須由伺服器端更新並重新載入憑證;修改用戶端日期無法正確修復。
在 Windows 中,可於終端機使用以下指令查看本機時間與時間服務狀態。第二個指令可能因系統服務未執行而回報錯誤;此結果僅供輔助診斷,不代表節點本身有問題。向他人求助時,不必提供完整裝置資訊。
powershell -NoProfile -Command "Get-Date -Format o"
w32tm /query /status
分別核對 SNI、連線位址與 Host
節點的「位址」決定要連線至哪個 IP 或網域;SNI 是 TLS 握手時傳送的伺服器名稱,通常也會用於憑證名稱驗證;WebSocket 的 Host 則是後續 HTTP 要求中的欄位。有些架設方式會讓三者相同,另一些則不同。把三個欄位都改成能開啟的網站網域,不會因此讓節點變得可用。
| 設定項目 | 用途與檢查內容 |
|---|---|
| 位址與連接埠 | 指定實際連線入口。連接埠 443 常用於 TLS,但僅憑連接埠號碼無法判定該入口是否啟用了 TLS;請以訂閱提供的設定為準。 |
| SNI / serverName | 向 TLS 伺服器宣告目標名稱。一般 TLS 節點應使用供應商指定且與憑證相符的網域,不含通訊協定前綴、路徑或連接埠。 |
| Host | 常用於 WebSocket 等 HTTP 傳輸的虛擬主機比對。修改 Host 不等於修改 SNI,也無法修復憑證名稱不相符的問題。 |
| 路徑與 ALPN | 路徑供相應的傳輸入口使用;ALPN 用於應用層協定協商。若沒有明確要求,請保留訂閱中的設定,不要自行強制使用 h2 或 http/1.1。 |
在 v2rayN 主畫面雙擊目標節點,進入伺服器編輯視窗,檢查位址、連接埠、傳輸協定,以及 TLS 區域中的伺服器名稱。在 v2rayNG 中,點選目標節點右側的編輯圖示,檢查「位址」、「連接埠」及 TLS 下的「SNI」。不同版本的介面可能顯示為 serverName 或伺服器名稱,請依欄位用途判斷,不必尋找各版本通用的選單名稱。
結論:先還原原始 SNI,再檢查解析結果
若憑證名稱不相符,請先比照新匯入的訂閱節點還原 SNI。若欄位一致仍收到錯誤憑證,再檢查節點位址的 DNS 解析與伺服器入口;隨機更換「偽裝網域」只會增加變因。
- 使用 IP 作為連線位址不一定有問題:只要伺服器允許這種連線方式,並設定正確的 SNI,仍可完成網域憑證驗證。
- 萬用字元憑證通常只會比對一層子網域。例如
*.example.com不符合a.b.example.com;此處的網域僅用於說明規則,並非節點設定。 - 手動修改訂閱節點後,後續更新可能會覆蓋修改內容。排查時請複製節點再編輯,並保留訂閱中的原始項目以供比對。
憑證鏈與略過驗證:不要混為同一個開關
憑證驗證不只檢查網域,也會檢查簽章鏈與有效期限。伺服器漏傳中繼憑證時,部分瀏覽器可能因為已有快取而能開啟頁面,代理核心卻仍會回報錯誤。因此,「瀏覽器能開啟」只能作為線索,不能取代核心的驗證結果。
- 只有一個節點失敗:同一裝置上的其他 TLS 節點正常時,請優先請服務供應商檢查該入口的完整憑證鏈、憑證網域與載入狀態。
- 同一裝置上的多個服務都失敗:檢查系統更新、根憑證信任庫與本機 HTTPS 檢查軟體。不要為了測試而直接關閉所有安全防護。
- 只有特定網路會失敗:先完成網路登入驗證,再換用另一個可信任的網路進行比對;若收到的憑證簽發者異常,請停止輸入訂閱憑證並檢查網路環境。
- 明確使用自簽憑證:必須透過可信管道確認身分,並依用戶端與核心支援的方式設定信任。若無法確認,就不應忽略驗證後繼續使用。
曾經啟用略過驗證的使用者,應在排查完成後關閉該選項,再重新連線。必須在恢復驗證後,記錄中不再出現同類錯誤,且實際要求也成功,才能算修復完成。一次延遲測試成功,不代表所有要求都經過預期的 TLS 入口。
TLS 指紋:依節點要求設定,不要輪流嘗試
TLS 指紋會影響用戶端握手訊息的特徵,例如擴充項目的排列與支援參數組合;它不能取代憑證,也無法讓過期憑證恢復有效。一般 TLS 與 REALITY 對相關參數的要求不同,不要把某種節點的設定方式直接套用到另一種節點。
v2rayN 是用戶端介面,實際握手由目前選用的核心執行;v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。介面上看得到欄位,不代表不同核心都以相同方式支援它。排查時請記下正在使用的核心名稱,並核對服務供應商的要求,不要只比較用戶端名稱。
- 確認安全層。編輯節點,查看使用的是 TLS 還是 REALITY,並保留原始訂閱。一般 TLS 出現
x509錯誤時,請先檢查時間、SNI 與憑證鏈。 - 檢查指紋欄位。在節點編輯頁面的 TLS 或 REALITY 區域,尋找「指紋」或 fingerprint。若訂閱明確提供
chrome等值,請先保留該設定,不要額外修改 ALPN。 - 確認核心支援狀況。若記錄顯示不支援某個欄位,請先更新相容的用戶端與核心,再重新匯入訂閱;不要把刪除欄位當成通用的相容方案。
- 另外檢查 REALITY。除了 serverName 和指紋,還需核對公鑰、shortId 等供應商提供的參數。不要把公鑰填入憑證路徑,也不要用一般 TLS 的略過驗證開關取代這些參數。
結論:憑證錯誤應優先修正憑證條件
若記錄明確指出憑證過期或網域不相符,請先修正相應問題,再處理指紋相容性。只有確認時間、入口與參數都正確,遠端仍拒絕握手時,才繼續檢查用戶端握手特徵與伺服器端政策。
常見問題與修復後測試
為什麼手機可以連線,電腦卻顯示憑證錯誤?
先確認兩端使用的確實是同一個節點、相同的 SNI 與安全層,再同步電腦時間。接著讓兩端連上同一個網路進行測試;若仍只有電腦失敗,請檢查電腦的信任庫與本機 HTTPS 檢查軟體。不要只因節點名稱相同,就認定設定也相同。
開啟「略過憑證驗證」後可以使用,需要保留嗎?
不建議保留為日常設定。先記下原始憑證錯誤,再關閉該選項,依序修正時間、網域與憑證鏈。若供應商要求長期忽略驗證,請先確認其身分驗證方式,不要直接接受未知憑證。
改成全域模式可以解決 TLS 握手失敗嗎?
無法直接修復憑證。路由規則決定要求要經過哪個出口,TLS 驗證則負責確認該連線的伺服器身分。請先檢查記錄中實際選用的節點;切換模式後錯誤消失,也可能只是流量改走其他出口,原節點仍需修復。
更新訂閱時出現憑證錯誤,也要修改節點 SNI 嗎?
不用先修改節點。請先同步系統時間,並確認訂閱 URL 的網域是否正確。若只有該訂閱網址失敗,請聯絡供應商檢查訂閱網站的憑證;修改現有節點的 SNI,不會改變訂閱網站的 HTTPS 憑證。
最後測試時,請使用同一台裝置、同一個網路與同一個節點,每次只修改一項。重新啟動連線後,分別檢查核心記錄與實際網頁連線,並確認關閉略過驗證後仍正常。若需要求助,提供以下必要資訊即可;請勿公開完整訂閱網址、UUID、密碼或其他驗證參數。
- 用戶端名稱、實際安裝的版本、目前使用的核心與版本,以及作業系統名稱。
- 觸發錯誤的操作、準確時間,以及已移除敏感資訊的完整底層錯誤訊息。
- 傳輸方式、安全層、連接埠,以及 SNI 是否符合供應商要求。
- 同步時間、更換網路與還原原始節點後的結果,並註明每次只修改了哪一項。