從一次失敗的連線請求開始,依序查看時間、目標位址、出口標籤與底層錯誤。本文適合已匯入訂閱,但連線失敗或網頁無法開啟的使用者。看完後,你可以分辨本機監聽、節點連線、TLS 交握與 DNS 解析問題,並在圖形介面用戶端逐項驗證,避免一次變更多項設定。
先找到正確的日誌:分開查看用戶端與核心
先分清楚「用戶端操作失敗」和「代理連線失敗」。v2rayN 負責管理訂閱、產生設定、啟動核心及設定系統代理;實際處理連線的則可能是 Xray 或 V2Fly 核心。訂閱下載逾時不代表節點交握失敗,核心啟動失敗也無法靠切換網頁解決。
在 v2rayN 主視窗查看底部的日誌區域,先確認啟動記錄中的核心名稱、版本與啟動時間,再重現一次問題。不同版本的介面可能將日誌放在底部索引標籤或獨立視窗,入口文字也可能不同。v2rayNG 使用 Xray 核心,v2flyNG 使用 V2Fly 核心;Android 用戶端可從主畫面選單進入日誌頁面,選單位置不一定和桌面平台相同。
- 訂閱階段:留意更新訂閱時的提示,確認網址請求、驗證或內容解析是否失敗;請勿公開完整訂閱連結。
- 啟動階段:留意設定讀取、協定欄位、監聽連接埠及核心結束訊息;核心尚未成功啟動前,先別排查遠端網站。
- 連線階段:留意入站請求、路由選擇、遠端連線與回應讀取;將錯誤和剛才開啟的目標對照。
看懂日誌等級、位址與錯誤鏈
先判斷錯誤屬於哪一層,再查看日誌等級。Xray 與 V2Fly 常見的日誌等級包括 debug、info、warning、error,也可用 none 關閉相關日誌輸出。存取日誌與錯誤日誌不一定透過同一管道輸出;看到 accepted 只代表本機已接收請求,不表示遠端網頁已成功載入。
| 等級或記錄類型 | 主要用途 | 建議做法 |
|---|---|---|
debug | 查看更詳細的內部處理過程 | 只在短時間重現問題時開啟,完成後恢復原設定 |
info | 查看啟動情況及部分執行資訊 | 先用來確認核心是否啟動、請求是否進入 |
warning | 提示異常或失敗事件 | 搭配目標位址判斷是否影響目前的連線 |
error | 記錄較嚴重的錯誤 | 優先檢查設定載入與監聽失敗 |
| 存取記錄 | 顯示來源、目標及路由標籤 | 用來確認流量入口,不能單獨作為成功依據 |
以下是方便閱讀的格式示意,並非實際測試結果;欄位順序會因版本、核心與設定不同而變動。127.0.0.1:53124 是應用程式使用的臨時來源連接埠,不要因此把用戶端監聽連接埠改成 53124。目標位址中的 443 是本次請求的目標連接埠,不一定是節點伺服器的連接埠。
2026/08/14 10:15:30 from 127.0.0.1:53124 accepted tcp:example.com:443 [socks -> proxy]
[Warning] ... failed to process outbound traffic > ... dial tcp 192.0.2.10:443: connect: connection refused
錯誤鏈通常會從外層處理失敗逐步補充底層原因。先找出最後出現的具體錯誤,再確認它屬於哪個目標及出口。示意中的 192.0.2.10 是文件範例位址,不能用作節點位址。若日誌包含連線編號,可用同一編號串起多行記錄;若沒有編號,則依時間與目標位址比對,避免把背景更新請求誤認為瀏覽器請求。
連線遭拒或逾時:先確認錯誤位址
看到 connection refused 時,先查看冒號前的位址。若指向 127.0.0.1:10808,常見原因是應用程式仍使用舊的代理連接埠,或本機核心沒有監聽;若指向節點位址與節點連接埠,則應檢查節點是否可用,以及訂閱中的連接埠是否已變更。10808 只是常見範例,請以目前用戶端實際的監聽值為準。
錯誤:connect: connection refused
原因:連線嘗試遭到拒絕,可能是目標連接埠沒有服務在監聽,也可能是網路設備主動拒絕連線。
解決方法:先分辨是本機位址還是節點位址;若是本機問題,檢查監聽狀態與系統代理;若是節點問題,更新訂閱,並改用另一個已知可用的節點交叉測試。
錯誤:i/o timeout
原因:某次連線、讀取或寫入作業未能在期限內完成,單憑這句錯誤無法判定是 DNS 故障。
解決方法:查看前面的模組名稱與目標位址,先判斷錯誤發生在連線建立或資料讀取階段,再使用同一個節點切換網路交叉測試。
錯誤:bind: address already in use
原因:本機監聽位址與連接埠已被其他程序或另一個用戶端執行個體占用。
解決方法:關閉重複執行的執行個體;若仍發生衝突,前往「設定」→「參數設定」,找到本機監聽連接埠項目,修改並儲存,同時更新手動設定代理的應用程式。
Windows 發生連接埠衝突時,也可能顯示「通常每個通訊端位址只允許使用一次」之類的系統訊息,原因與上述監聽衝突類似。不要直接結束不明的系統程序,也不要未經檢查就連續嘗試多個隨機連接埠。
判斷方式:本機監聽失敗時,先停留在啟動階段
若核心無法繫結 10808,切換 VMess、VLESS 或遠端 DNS 都無法解決這個監聽衝突。先確認啟動日誌不再出現繫結失敗,再測試請求是否進入日誌。
交握失敗:分別檢查 TLS 與傳輸參數
交握錯誤發生在建立連線之後,但不一定已進入協定驗證階段。TLS 憑證驗證、傳輸路徑與使用者驗證是不同的檢查項目。不要把所有交握錯誤都解讀成「密碼錯誤」,也不要把停用憑證驗證當成通用解法。
錯誤:x509: certificate has expired or is not yet valid
原因:憑證有效期間與本機時間不符,可能是裝置時鐘錯誤,也可能是伺服器憑證已過期。
解決方法:先啟用系統自動設定時間並完成同步,再重試;若時間正確仍出現錯誤,請聯絡節點提供者處理憑證問題。
錯誤:remote error: tls: handshake failure
原因:遠端拒絕 TLS 交握,可能與伺服器名稱、TLS 參數或伺服器端政策有關。
解決方法:開啟節點編輯視窗,對照原始設定確認 TLS 開關與伺服器名稱 SNI,再用更新後的訂閱重新測試。
錯誤:websocket: bad handshake
原因:WebSocket 升級沒有收到預期回應,常見原因是路徑、Host 或反向代理入口不一致。
解決方法:確認傳輸方式、路徑與 Host;保留路徑開頭的斜線及原有大小寫,也不要預設 SNI 與 Host 是同一個欄位。
- 先確認協定:VMess 與 VLESS 是不同協定,不能只改協定名稱就沿用所有參數。
- 再確認傳輸方式:WebSocket、gRPC 等傳輸設定必須與伺服器端一致;使用 gRPC 時也要檢查服務名稱。
- 最後確認安全層:TLS、REALITY 等設定各有對應欄位。使用 REALITY 的節點,應依提供者資訊檢查公鑰、短 ID 與伺服器名稱,不要套用一般憑證故障的處理方式。
EOF 或 unexpected EOF 只表示連線已結束或資料提早中斷,不能單獨證明驗證失敗。若日誌只有這一行,請保留前後文,再比對傳輸類型與節點狀態;不要反覆產生新的使用者識別資訊來嘗試連線。
DNS 逾時:分辨節點網域與目標網域
同樣是解析失敗,發生位置不同,處理方向也不同。若節點位址本身是網域名稱,用戶端需要先解析出節點 IP;若要連線的目標是網域,則可能由本機 DNS、核心 DNS 或遠端處理。實際方式取決於設定,看到 DNS 字樣時不要一律改用某個公共 DNS 位址。
錯誤:lookup example.com: no such host
原因:解析器未取得該網域的有效位址,可能是名稱拼寫錯誤、DNS 記錄不存在,或目前的解析路徑回傳異常結果。
解決方法:先確認這是節點網域還是網頁網域,再檢查拼寫及目前網路的解析結果;不要直接修改所有 DNS 規則。
錯誤:context deadline exceeded
原因:作業超過時限;只有前文明確指出錯誤來自 DNS 模組時,才應優先往解析逾時的方向排查。
解決方法:確認 DNS 請求是直連還是透過代理,以及該出口能否連上所選的解析服務,再只修改相關的解析設定。
| 觀察到的狀況 | 優先檢查項目 | 驗證方式 |
|---|---|---|
| 無法解析節點網域 | 連線節點前的解析路徑 | 切換網路後重試同一個節點,不要同時更換協定 |
| 只有部分網域無法開啟 | 對應網域的規則與解析結果 | 比較無法連線的網域與正常網域所使用的出口標籤 |
| 啟用代理後 DNS 才發生故障 | DNS 出口依賴關係與路由迴圈 | 還原已知可用的 DNS 設定,再逐項啟用自訂規則 |
傳統 DNS 通常使用 UDP 53,DNS over HTTPS 通常使用 TCP 443。連接埠可連線不代表解析結果正確;443 逾時也不一定是網頁連線故障。尤其要避免出現循環依賴:「連線節點前要先透過代理解析節點網域,但代理又必須先連上該節點。」
分五個步驟重新測試:每次只變更一個項目
將日誌整理成可重複操作的記錄。以下以 v2rayN 說明桌面操作流程,設定名稱可能隨版本調整,請以目前介面顯示的欄位為準;不必手動編輯核心設定檔。若使用 Android 用戶端,請依相同順序驗證,並確認連線時已取得系統 VPN 授權。
-
記錄目前狀態
記下用戶端與核心版本、選取的節點、網路類型及失敗時間。開啟主視窗的日誌區域,先保存現有錯誤,再清除顯示內容,減少舊記錄干擾。
-
檢查啟動結果
前往「設定」→「參數設定」,確認實際監聽連接埠;若需要更多資訊,找到日誌等級項目,暫時切換至
info或debug。儲存後依介面指示重新啟動核心,先確認沒有設定讀取或連接埠繫結錯誤。 -
固定流量入口
在系統匣選單的「系統代理」中選擇「自動設定系統代理」,測試期間先關閉 TUN,避免兩種流量入口互相疊加。系統代理只會影響遵循系統代理設定的應用程式;另行設定代理的應用程式則需個別檢查。
-
重現單次請求
使用遵循系統代理設定的瀏覽器開啟同一個 HTTPS 網頁,記下請求時間,再到日誌中尋找對應目標。若完全沒有記錄,先檢查應用程式入口與日誌等級,不要急著判定節點失效。
-
單項調整後重新測試
依照錯誤鏈只調整一個項目,例如節點選擇、SNI 或 DNS 路徑。比較調整前後的同一個請求;確認恢復正常後,將詳細日誌調回原本等級,並保留最後有效的設定。
如果存取記錄顯示請求使用 direct,但預期應透過代理,請檢查路由規則及其順序,而不是修改節點憑證。出口標籤可以自訂;proxy 與 direct 只是常見名稱,實際結果仍須以目前產生的設定及介面選取的路由模式為準。
判斷方式:比較同一請求在不同階段的變化
修改後若錯誤從「節點連線逾時」變成「TLS 交握失敗」,表示失敗位置已改變,但不代表問題已解決。請繼續檢查新的底層原因;只有同一個網頁能正常載入,且相關請求不再持續報錯,才算完成這一輪驗證。
日誌排錯常見問題
日誌沒有紅色錯誤,為什麼網頁還是無法開啟?
先確認是否有對應目標的存取記錄。若沒有記錄,檢查瀏覽器是否遵循系統代理設定,以及代理連接埠是否一致;若有記錄,再查看出口標籤與後續錯誤。日誌等級設定過高或未啟用存取日誌,也可能讓記錄看起來很少。
一直出現 warning,需要把所有節點都刪掉嗎?
不需要。先關閉正在背景連線的應用程式,再開啟一個網頁重現問題,找出與該請求時間相同的警告。少量失敗可能來自已取消的請求或無法連線的目標,不能只憑警告數量判斷所有節點都有問題。
訂閱更新失敗,也要按照交握錯誤處理嗎?
先分清楚訂閱下載與節點通訊。查看「訂閱群組」中的更新結果,確認訂閱網址仍有效,且存取方式符合目前的網路環境。若介面提供透過代理更新的選項,只有在已有可用的代理連線時才嘗試,避免依賴尚未匯入的節點。
延遲測試成功,為什麼實際連線還是逾時?
延遲測試可能只檢查連線或特定測試目標,不代表所有網站、DNS 與傳輸都正常。維持使用同一個節點,以瀏覽器重現無法開啟的網頁,比對網域、目標連接埠與出口標籤,再檢查實際請求的錯誤鏈。
提供日誌給別人查看時,應保留哪些資訊?
保留用戶端與核心版本、錯誤時間、協定與傳輸類型、連接埠及完整錯誤鏈。替換敏感位址時,請一致使用「節點網域」「存取網域」等標記,不要將不同目標都遮蔽成同一個名稱;截圖中也不要附上訂閱連結與使用者憑證。