本文重點

適合遇到「已選取節點,網頁卻打不開」或「日誌不斷出現錯誤」的 v2rayN 使用者。先開啟有效的日誌記錄,再用同一個固定請求檢查本機入站、路由選擇與遠端出站。依錯誤中的目標位址、連接埠和時間,分辨連接埠遭占用、名稱解析失敗、連線逾時或交握參數不符,避免一次修改多項設定。

先分清介面訊息與核心日誌

v2rayN 是用戶端管理介面,實際接收本機連線、執行路由並連線至伺服器的是所選的核心。訂閱更新失敗、延遲測試失敗和核心啟動失敗,分別代表不同操作的結果;看到紅色提示,不代表節點一定無法使用。本文以使用 Xray 核心的設定為主;其他核心的錯誤文字和日誌欄位可能不同。

主畫面的資訊或日誌區適合查看啟動過程和即時錯誤。若要追蹤某次連線經過哪個入站、使用哪個出站,可暫時將等級設為 info;只有需要更詳細的上下文時才使用 debug。日誌中的 warning 是警告,不代表核心已停止執行。

  1. 記錄目前狀態

    記下 v2rayN 和核心版本、目前使用的節點、本機監聽連接埠及路由模式。可從「說明」→「關於」或啟動資訊查看版本。保留目前設定,暫時不要更新訂閱或批次修改節點。

  2. 啟用日誌

    在常見的桌面介面中,前往「設定」→「參數設定」,找到日誌選項並啟用日誌記錄,再將日誌等級設為 info。儲存後重新啟動核心。不同版本的分頁和中文名稱可能不同,請以實際的日誌開關和等級欄位為準。

  3. 重現一次問題

    清除目前顯示的內容或記下開始時間,然後只造訪一個固定網址。等待成功或失敗一次後就停止重複重新整理,保留錯誤前後約 20 行,不要只截取最後一行。

  4. 還原日誌等級

    完成排查後,將日誌等級還原為 warning 或原本的設定。提交日誌前,請遮蔽訂閱網址、節點憑證、UUID、公網 IP 位址及瀏覽紀錄,不要直接公開整份設定檔。

若正在維護自訂的 Xray 設定,日誌部分可寫成以下片段。這只示範 log 物件,並非完整的 config.json;請勿用它覆寫整份設定。一般節點由 v2rayN 產生的執行設定,切換節點後可能會被重新寫入,建議優先使用用戶端提供的選項。

{
  "log": {
    "loglevel": "info"
  }
}

依序檢視入站、路由與出站記錄

排查時先確認「請求到達哪一層」。瀏覽器連到本機代理屬於入站;核心判斷直連、代理或封鎖屬於路由;核心連線至節點並完成協定交涉則屬於出站。介面上選取了節點,只代表選定設定,不代表這三個環節都已通過。

檢查環節日誌或系統線索下一步
本機入站監聽失敗,或送出測試請求後沒有新增連線記錄檢查執行中的程序、本機連接埠、系統代理,以及應用程式是否使用代理
路由選擇連線記錄中的出站標籤與預期不符確認規則順序及 outboundTag 的指向
節點連線連線至節點位址時遭拒或逾時檢查伺服器位址、連接埠、網路路徑及服務狀態
協定交握TCP 連線建立後出現憑證、驗證或協定錯誤確認 TLS、傳輸方式及伺服器端參數

以下是簡化的日誌格式示意,並非所有版本都會逐字輸出。方括號中的標籤取決於實際設定,不能假設出站名稱永遠是 proxy。accepted 表示本機請求已被接收或進入處理流程,不代表遠端網頁已成功載入。

from tcp:127.0.0.1:53124 accepted tcp:example.com:443 [socks-in -> proxy-out]

先查看目標 example.com:443,再看路由標籤,最後尋找時間相近或連線識別碼相同的後續錯誤。若錯誤顯示連線目標是節點伺服器位址,請優先檢查出站鏈路;若錯誤來自直連出站且目標是網站位址,就不應先修改節點密碼。

常見錯誤的意思與第一步處理方式

完整錯誤通常包含多層上下文,例如外層顯示「處理連線失敗」,內層才是 connection refused。應從錯誤鏈最末端讀取具體原因,再回頭確認問題發生在本機、節點還是目標網站。以下是常見錯誤片段,系統和核心版本可能會附加不同的前綴。

錯誤:connection refused

原因:目標連接埠明確拒絕連線,常見原因包括服務未監聽、連接埠填錯或防火牆主動拒絕。

處理方式:先確認目標是否為 127.0.0.1;若是本機位址,檢查核心和監聽連接埠;若是遠端位址,確認節點連接埠和伺服器端狀態,不要直接歸因於 DNS。

錯誤:i/o timeout

原因:某個網路操作未能在期限內完成,可能卡在連線、讀取或交握階段,不能據此斷定是節點失效。

處理方式:根據前文的目標位址判斷發生階段,再以相同請求切換網路或改用已知可用的節點比對;每次只變更一個條件。

錯誤:address already in use

原因:核心需要的本機監聽位址和連接埠已遭其他程序占用,也可能是另一個用戶端執行個體仍在運作。

處理方式:找出占用連接埠的程序,確認身分後關閉重複的執行個體;若改用新的連接埠,也要一併修改應用程式中的代理位址。

錯誤:no such host

原因:目前的解析流程未取得有效位址,可能是網域名稱拼錯、解析器回應異常或網路無法連線。

處理方式:先確認日誌中解析失敗的是節點網域還是目標網域,再檢查相應的解析流程;系統解析成功,不代表核心內建的 DNS 也一定成功。

錯誤:tls: failed to verify certificate

原因:憑證驗證失敗,可能與憑證有效期限、信任鏈或伺服器名稱不符有關。

處理方式:檢查系統時間和 TLS 伺服器名稱,並請伺服器維護者確認完整憑證鏈;不要把略過憑證驗證當成一般修復方式。

錯誤:EOF / connection reset by peer

原因:對端關閉或重設了連線,可能是伺服器端、傳輸參數不一致,或中間網路設備介入所致。

處理方式:比對伺服器端設定,檢查傳輸類型、路徑和交握參數,再切換網路重新測試;單憑這一行不能斷定是憑證錯誤。

透過本機連接埠確認請求是否進入核心

以下是 Windows 排查範例:假設目前設定的 SOCKS 監聽連接埠為 10808,節點伺服器連接埠為 443。這些數字僅供示範,並非所有安裝環境的預設值;執行前務必替換為介面或執行設定中實際啟用的連接埠。

10808
範例本機 SOCKS 連接埠
443
範例節點伺服器連接埠
15 秒
本次命令的總逾時上限

在 PowerShell 中先檢查是否有監聽,再明確指定代理發出請求。第二個命令會將網域名稱交由 SOCKS 代理處理,並排除瀏覽器是否正確使用系統代理的影響。測試網址僅供重現問題,不適合用來判斷所有網站是否可用。

Get-NetTCPConnection -State Listen -LocalPort 10808

curl.exe --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 5 --max-time 15 -I https://example.com/

結論:先排除應用程式代理設定差異

明確指定 SOCKS 代理的請求若成功,請保留節點設定,先修正應用程式到本機代理之間的問題;若明確指定代理的請求也失敗,再依日誌檢查路由和遠端連線,避免反覆更換原本可用的節點。

逐項檢查路由、DNS 與交握參數

本機連接埠能接收請求後,接著要確認路由是否符合預期。Xray 路由規則通常依序比對,前面的寬泛規則可能先於後面的精確規則生效。請檢查目前產生的設定中實際使用的標籤,不要只憑介面上的節點名稱判斷出站。

  1. 確認出站標籤:規則中的 outboundTag 必須與目標出站的 tag 相符。若日誌顯示流量進入封鎖用的出站,應先檢查規則,而不是修改 TLS。
  2. 區分兩種網域解析:節點網域解析失敗會導致無法連線至伺服器;目標網域解析失敗則可能影響直連,或影響需要比對 IP 的規則。使用 Resolve-DnsName example.com 只能驗證系統解析器,不能取代核心的解析測試。
  3. 確認系統時間:在 Windows 中前往「設定」→「時間與語言」→「日期與時間」,開啟自動設定並執行同步。時間有誤會影響憑證有效期限的判定,也可能影響對時間敏感的驗證。
  4. 確認傳輸參數:WebSocket 的路徑和 Host、TLS 伺服器名稱、節點連接埠及加密設定都應與伺服器端一致。連線到同一個 IP,不代表連到同一個虛擬主機。
  5. 確認核心支援的功能:v2rayN 是管理端,實際的協定支援能力取決於使用的核心。尤其是 REALITY 與 XTLS Vision,不能只因成功匯入分享連結,就認定執行參數相容。

可暫時使用用戶端提供的全域代理路由進行比對,但請先記下原本的模式,測試後立即還原。若全域模式成功、原本的分流模式失敗,應優先比較規則和 DNS 策略;但這仍不代表問題一定出在路由,因為兩次請求也可能使用不同的網域解析流程。

日誌排查常見問題

只有 warning,沒有連線記錄,代表請求沒有進入核心嗎?

不一定。先暫時將日誌等級調整為 info 並重新啟動核心,再明確指定代理送出一次請求。連線日誌和錯誤日誌可能分開記錄;也要確認查看的是目前核心的輸出,而不只是訂閱更新訊息。

延遲測試有數值,為什麼網頁還是打不開?

先分清 TCP 延遲與實際代理請求測試。TCP 能連線,只能證明當下可連到相應的連接埠,不能證明驗證、TLS 和路由都正常。使用上方的固定網址重新測試,再確認是否在交握或讀取階段失敗。

訂閱更新逾時,也需要修改節點參數嗎?

先確認失敗的是訂閱網址請求,還是節點出站。檢查訂閱是否已過期,以及目前的更新方式能否連線至訂閱網域;若介面提供透過代理更新的選項,請先確認現有節點可用再試。無法取得訂閱不代表已儲存的節點失效。

同一個節點在 v2rayNG 可用,桌面版卻失敗?

先在兩端使用相同網路和相同參數進行比對。若 v2rayNG 使用 Xray 核心,也要比較核心版本、TLS 與 REALITY 欄位、DNS 和分流規則。v2flyNG 使用 v2fly 核心,不能假設兩款 Android 用戶端支援相同的協定。

尋求協助時,提供哪些資訊才足以排查?

請提供作業系統、v2rayN 和核心版本、協定與傳輸類型、重現時間、實際監聽連接埠,以及已遮蔽敏感資訊的錯誤前後約 20 行日誌。補充「明確指定代理測試成功或失敗」,比只貼一張連線逾時的截圖更有幫助。

排查的目標不是讓日誌完全沒有警告,而是讓相同請求能穩定成功,並確認原本在哪個環節失敗。修復後,請還原正常的日誌等級和原有分流模式,再測試一個原本應直連的目標,以及一個應走代理的目標,避免臨時測試設定長期留在設定中。

v2rayN 下載與設定教學

需要重新選擇用戶端時,先依作業系統查看下載入口;初次設定可參照教學確認節點匯入、本機連接埠和系統代理,再開始排查日誌。