先從記錄判斷是時間驗證失敗、憑證網域不符,還是一般連線逾時;接著同步系統時間、核對節點 SNI,最後以真實連線延遲和實際瀏覽測試。適用於已匯入訂閱、核心可啟動,但連線時出現 TLS 或 x509 錯誤的情況;若是伺服器憑證到期,則需由節點維護者處理。
判斷 TLS 交握失敗的階段
TLS 交握發生於建立安全連線的過程。連線一般 TLS 節點時,用戶端會與伺服器協商參數,並檢查伺服器憑證的有效期間、簽發鏈與身分。TCP 連接埠可連線,只代表傳輸層可到達,不代表憑證檢查通過,也不代表後續 VMess 或 VLESS 驗證成功。
先在 v2rayN 底部的記錄區找到這次測試的紀錄。保留最末端的具體原因,不要只截取外層的 failed to process outbound traffic。同一條連線可能經過多層包裝,真正有用的資訊通常在後面的 x509:、tls: 或 dial tcp 附近。
錯誤:x509: certificate has expired or is not yet valid
原因與解法:裝置目前時間不在憑證有效期間內——先同步日期與時間;若時間正確仍出現錯誤,請維護者檢查憑證起訖時間及實際部署的憑證。
錯誤:x509: certificate is valid for …, not …
原因與解法:用於驗證的伺服器名稱不在憑證允許的名稱中——依節點提供者的設定核對 SNI,並確認伺服器是否因名稱不符而回傳預設網站憑證。
錯誤:x509: certificate signed by unknown authority
原因與解法:憑證鏈無法連結至受信任的根憑證——檢查伺服器的中繼憑證是否完整、裝置的信任存放區是否正常,以及網路中是否有 TLS 檢查設備。
同步系統時間與時區
憑證有效期間是依絕對時間判定,不是看桌面顯示的時區名稱。只有時區設定錯誤、但系統實際時間仍正確,通常不會造成憑證失效;手動調快日期、雙系統的時間處理不一致,或虛擬機從舊快照還原,則可能讓系統實際時間偏移。先確認年份、月份和日期,再檢查分鐘,不要只看右下角顯示的時數。
-
記錄時間
記下記錄中的目前時間與憑證有效期間。若記錄使用 UTC 時間,請先換算再比較:例如 UTC 02:00 和 UTC+8 的 10:00 是同一時間,不能直接判定相差八小時。
-
啟用自動校時
在 Windows 11 開啟「設定」→「時間與語言」→「日期與時間」,啟用「自動設定時間」,確認時區後再按一下「立即同步」。若同步失敗,先檢查目前網路能否連上時間服務。
-
確認同步狀態
在 Windows 終端機執行
w32tm /query /status,查看時間來源與最近一次成功同步的時間。需要手動同步時,請在系統管理員終端機執行w32tm /resync;若出現錯誤,先不要反覆修改節點參數。 -
重新進行測試
返回用戶端,重新選取目前使用的伺服器並執行真實連線延遲測試。確認新記錄的時間戳記對應這次新連線,不要用舊紀錄判斷修復結果。
在其他平台確認時間來源
- macOS:開啟「系統設定」→「一般」→「日期與時間」,啟用自動設定日期與時間;若裝置受組織政策管理,請先確認時間來源沒有被政策鎖定。
- Android:通常可在「設定」→「系統」→「日期與時間」啟用自動設定時間和自動設定時區。部分裝置的選項位於「更多設定」或「一般管理」,請以系統設定的搜尋結果為準。接著回到 v2rayNG 或 v2flyNG 重新連線。
- Linux:使用 systemd 的發行版可執行
timedatectl status,確認系統時鐘是否已同步。可執行sudo timedatectl set-ntp true,啟用系統支援的網路校時;若發行版使用獨立的時間服務,請檢查該服務的狀態。
這些數字用來區分服務用途,不是要把所有節點都改成 443。校時後仍提示憑證已過期,請檢查記錄中的憑證到期時間;調整用戶端時間無法取代伺服器更新憑證。
核對 SNI、伺服器位址與傳輸 Host
SNI 是 TLS ClientHello 中用來指定目標伺服器名稱的資訊。介面上常標示為「SNI」、「伺服器名稱」或「serverName」,部分教學也稱為偽裝網域。這不是可任意填寫的裝飾文字:在一般 TLS 驗證中,它通常會同時影響伺服器選用哪張憑證,以及用戶端要核對哪個名稱。
| 欄位 | 用途 | 檢查重點 |
|---|---|---|
| 位址與連接埠 | 指定要連線的遠端入口 | 依訂閱保留網域或 IP,不要因憑證錯誤而自行更改連接埠 |
| SNI / serverName | 指定 TLS 伺服器名稱,通常用於名稱驗證 | 填入提供者指定的主機名稱,不要加上通訊協定、路徑或連接埠 |
| WebSocket Host | 參與 HTTP 請求的虛擬主機選擇 | 無法直接取代 SNI;兩者是否相同取決於部署方式 |
| WebSocket path | 指定 HTTP 升級請求的路徑 | 保留開頭斜線、大小寫及必要參數,不要填入 SNI |
例如教學用主機名稱 edge.example.invalid 僅用來說明 SNI 的文字格式,無法用於實際連線。SNI 不應填成 https://edge.example.invalid:443/path,也不能直接貼上整條訂閱網址。請使用節點提供者提供的實際名稱,不要任意換成常見網站的網域。
-
確認目前使用的節點
在 v2rayN 伺服器清單中確認目前選取的項目和訂閱群組,按兩下該項目開啟編輯視窗。先記下位址、連接埠、傳輸方式及傳輸安全類型,避免修改到名稱相同的其他節點。
-
核對伺服器名稱
在傳輸安全設定中檢查 SNI 或伺服器名稱欄位。逐字比對提供者給的參數,並移除前後空格;不要加上
https://、連接埠或路徑。欄位位置會因用戶端版本及通訊協定而異。 -
分別檢查 Host
使用 WebSocket 時,還要檢查 Host 和 path。不要為了排除網域錯誤,把位址、SNI、Host 三處全部改成相同值;入口位址和憑證名稱本來就可能不同。
-
儲存並重新測試
儲存後重新選取該節點,執行一次真實連線延遲測試。記錄錯誤是否從憑證不符變成其他類型,每次只調整一組相關欄位。
在 Android 上,可從 v2rayNG 或 v2flyNG 的節點清單開啟該項目的編輯頁面,再展開 TLS 相關設定核對伺服器名稱。手動修改訂閱節點的內容可能會在下次更新訂閱時被覆寫;若修正後確實有效,請聯絡提供者更新訂閱來源,不要長期依賴本機修改。
區分憑證鏈問題與 REALITY 參數問題
即使裝置時間正確,SNI 也符合設定,仍不能排除伺服器端問題。一般 TLS 服務必須回傳正確的葉憑證及必要的中繼憑證;只部署葉憑證、更新憑證後沒有重新載入服務,或入口負載平衡器中只有部分機器更新,都可能造成同一節點間歇性連線失敗。
- 有效期間錯誤:請維護者檢查目前入口實際回傳的憑證,而非只查看磁碟中新憑證的日期。成功更新憑證不代表所有入口都已使用新憑證。
- 名稱錯誤:確認憑證的 Subject Alternative Name 是否涵蓋設定中的伺服器名稱。萬用字元
*.example.invalid通常只涵蓋一層子網域,不涵蓋根網域或更深層的名稱。 - 未知簽發機構:檢查中繼憑證鏈、裝置系統更新及根憑證信任狀態。若只在公司或校園網路發生,請詢問是否有 TLS 檢查政策,不要直接匯入來源不明的根憑證。
- REALITY 節點:除了伺服器名稱,也要依提供者的設定檢查公鑰、shortId、指紋及 flow。REALITY 並非一般自行部署憑證的方式,不能只套用「更新憑證」的處理方法。
v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心。遇到 REALITY 等功能相關問題時,請先確認用戶端及核心是否支援該節點設定;換個介面不會自動補足通訊協定功能。桌面端可參考用戶端比較了解 v2rayN 的用途,再確認目前實際使用的核心與版本。
重新測試真實連線延遲與實際瀏覽
修正後先重新測試節點,再測試應用程式。TCPing 成功但真實連線延遲測試失敗,表示問題仍可能出在 TLS、代理驗證或測試目標連線階段。真實連線延遲也會受測試位址與路由規則影響,不能只憑一個耗時數字判斷所有應用程式都正常。
- 保留原節點副本或記下重要參數,修正時間後先測試一次;若仍出現網域錯誤,再核對 SNI,避免同時修改太多設定。
- 對目前的節點執行真實連線延遲測試,並查看相同時間戳記的記錄。測試方式請參考真實連線延遲說明。
- 依照系統代理說明確認應用程式確實透過代理連線。系統代理與 TUN 的接管範圍不同,瀏覽器無法連線不一定代表核心沒有啟動。
- 連線至允許使用的 HTTPS 目標,並確認出口資訊。若只有單一目標連線失敗,請檢查路由分流和該目標的憑證,不要立刻再修改節點 SNI。
- 需要回報問題時,請提供錯誤原文、發生時間、系統版本、用戶端與核心版本,以及已完成的檢查項目。請隱藏訂閱 token、使用者識別資訊及完整節點憑證資料。
TLS 交握疑難排解常見問題
電腦時間看起來正確,為什麼還是提示憑證過期?
先比對記錄中的絕對時間與憑證有效期間,排除 UTC 顯示差異。若系統時間確實正確,可能是伺服器憑證已過期,或入口仍在使用舊憑證,需由維護者檢查;無法靠用戶端「延長有效期間」。
節點位址是 IP,SNI 也一定要填 IP 嗎?
不一定。連線位址可以是 IP,伺服器名稱仍可使用提供者指定的網域。若實際以 IP 驗證憑證身分,憑證必須包含相符的 IP 位址識別資訊;不要因此自行清空 SNI。
更新訂閱後又不能用了,應該一直修改嗎?
先確認更新後項目的 SNI、傳輸方式和連接埠是否有變化。若訂閱來源持續提供錯誤欄位,請將修改前後的差異回報給提供者,並依照訂閱群組說明確認沒有更新錯群組。
同一個節點手機能用、電腦不能用,應該先檢查什麼?
先比對兩台裝置的系統時間、節點參數和核心版本,再讓兩台裝置連上同一個網路重新測試。若只有電腦出現未知簽發機構錯誤,請檢查系統信任存放區及安全軟體的 HTTPS 檢查設定,不要直接停用憑證驗證。