V2Ray 日誌怎麼看?常見錯誤訊息與排查方法

整理 Xray/V2Fly 核心日誌的等級與格式,解析連線遭拒、交握失敗、DNS 解析逾時等常見錯誤,並說明如何從日誌逐步找到相關設定。

本文重點

從一次失敗的連線請求開始,依序查看時間、目標位址、出口標籤與底層錯誤。本文適合已匯入訂閱,但連線失敗或網頁無法開啟的使用者。看完後,你可以分辨本機監聽、節點連線、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 是同一個欄位。

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 授權。

  1. 記錄目前狀態

    記下用戶端與核心版本、選取的節點、網路類型及失敗時間。開啟主視窗的日誌區域,先保存現有錯誤,再清除顯示內容,減少舊記錄干擾。

  2. 檢查啟動結果

    前往「設定」→「參數設定」,確認實際監聽連接埠;若需要更多資訊,找到日誌等級項目,暫時切換至 info 或 debug。儲存後依介面指示重新啟動核心,先確認沒有設定讀取或連接埠繫結錯誤。

  3. 固定流量入口

    在系統匣選單的「系統代理」中選擇「自動設定系統代理」,測試期間先關閉 TUN,避免兩種流量入口互相疊加。系統代理只會影響遵循系統代理設定的應用程式;另行設定代理的應用程式則需個別檢查。

  4. 重現單次請求

    使用遵循系統代理設定的瀏覽器開啟同一個 HTTPS 網頁,記下請求時間,再到日誌中尋找對應目標。若完全沒有記錄,先檢查應用程式入口與日誌等級,不要急著判定節點失效。

  5. 單項調整後重新測試

    依照錯誤鏈只調整一個項目,例如節點選擇、SNI 或 DNS 路徑。比較調整前後的同一個請求;確認恢復正常後,將詳細日誌調回原本等級,並保留最後有效的設定。

如果存取記錄顯示請求使用 direct,但預期應透過代理,請檢查路由規則及其順序,而不是修改節點憑證。出口標籤可以自訂;proxy 與 direct 只是常見名稱,實際結果仍須以目前產生的設定及介面選取的路由模式為準。

判斷方式:比較同一請求在不同階段的變化

修改後若錯誤從「節點連線逾時」變成「TLS 交握失敗」,表示失敗位置已改變,但不代表問題已解決。請繼續檢查新的底層原因;只有同一個網頁能正常載入,且相關請求不再持續報錯,才算完成這一輪驗證。

日誌排錯常見問題

日誌沒有紅色錯誤,為什麼網頁還是無法開啟?

先確認是否有對應目標的存取記錄。若沒有記錄,檢查瀏覽器是否遵循系統代理設定,以及代理連接埠是否一致;若有記錄,再查看出口標籤與後續錯誤。日誌等級設定過高或未啟用存取日誌,也可能讓記錄看起來很少。

一直出現 warning,需要把所有節點都刪掉嗎?

不需要。先關閉正在背景連線的應用程式,再開啟一個網頁重現問題,找出與該請求時間相同的警告。少量失敗可能來自已取消的請求或無法連線的目標,不能只憑警告數量判斷所有節點都有問題。

訂閱更新失敗,也要按照交握錯誤處理嗎?

先分清楚訂閱下載與節點通訊。查看「訂閱群組」中的更新結果,確認訂閱網址仍有效,且存取方式符合目前的網路環境。若介面提供透過代理更新的選項,只有在已有可用的代理連線時才嘗試,避免依賴尚未匯入的節點。

延遲測試成功,為什麼實際連線還是逾時?

延遲測試可能只檢查連線或特定測試目標,不代表所有網站、DNS 與傳輸都正常。維持使用同一個節點,以瀏覽器重現無法開啟的網頁,比對網域、目標連接埠與出口標籤,再檢查實際請求的錯誤鏈。

提供日誌給別人查看時,應保留哪些資訊?

保留用戶端與核心版本、錯誤時間、協定與傳輸類型、連接埠及完整錯誤鏈。替換敏感位址時,請一致使用「節點網域」「存取網域」等標記,不要將不同目標都遮蔽成同一個名稱;截圖中也不要附上訂閱連結與使用者憑證。

下載v2rayN