適合遇到「已選取節點,網頁卻打不開」或「日誌不斷出現錯誤」的 v2rayN 使用者。先開啟有效的日誌記錄,再用同一個固定請求檢查本機入站、路由選擇與遠端出站。依錯誤中的目標位址、連接埠和時間,分辨連接埠遭占用、名稱解析失敗、連線逾時或交握參數不符,避免一次修改多項設定。
先分清介面訊息與核心日誌
v2rayN 是用戶端管理介面,實際接收本機連線、執行路由並連線至伺服器的是所選的核心。訂閱更新失敗、延遲測試失敗和核心啟動失敗,分別代表不同操作的結果;看到紅色提示,不代表節點一定無法使用。本文以使用 Xray 核心的設定為主;其他核心的錯誤文字和日誌欄位可能不同。
主畫面的資訊或日誌區適合查看啟動過程和即時錯誤。若要追蹤某次連線經過哪個入站、使用哪個出站,可暫時將等級設為 info;只有需要更詳細的上下文時才使用 debug。日誌中的 warning 是警告,不代表核心已停止執行。
-
記錄目前狀態
記下 v2rayN 和核心版本、目前使用的節點、本機監聽連接埠及路由模式。可從「說明」→「關於」或啟動資訊查看版本。保留目前設定,暫時不要更新訂閱或批次修改節點。
-
啟用日誌
在常見的桌面介面中,前往「設定」→「參數設定」,找到日誌選項並啟用日誌記錄,再將日誌等級設為
info。儲存後重新啟動核心。不同版本的分頁和中文名稱可能不同,請以實際的日誌開關和等級欄位為準。 -
重現一次問題
清除目前顯示的內容或記下開始時間,然後只造訪一個固定網址。等待成功或失敗一次後就停止重複重新整理,保留錯誤前後約 20 行,不要只截取最後一行。
-
還原日誌等級
完成排查後,將日誌等級還原為
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。這些數字僅供示範,並非所有安裝環境的預設值;執行前務必替換為介面或執行設定中實際啟用的連接埠。
在 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/
- 沒有監聽記錄:檢查核心啟動錯誤。若顯示連接埠已遭占用,可用
netstat -ano | findstr :10808查看 PID,再到工作管理員確認程序;不要直接結束不熟悉的系統程序。 - 連線至本機代理遭拒:確認監聽位址和連接埠。若只監聽迴圈位址,應在同一部裝置上測試,不要用另一部裝置的連線結果判斷節點狀態。
- 命令可用、瀏覽器無法使用:優先檢查系統代理、瀏覽器的個別設定及擴充功能。在常見的 v2rayN 介面中,可從系統匣選單前往「系統代理」→「自動設定系統代理」;明確指定代理的命令不受這個開關影響。
- 命令也失敗:將命令的開始時間與核心日誌對照,繼續追查路由和出站。命令的 15 秒逾時是本次測試的限制,不代表核心或伺服器端的固定逾時值。
結論:先排除應用程式代理設定差異
明確指定 SOCKS 代理的請求若成功,請保留節點設定,先修正應用程式到本機代理之間的問題;若明確指定代理的請求也失敗,再依日誌檢查路由和遠端連線,避免反覆更換原本可用的節點。
逐項檢查路由、DNS 與交握參數
本機連接埠能接收請求後,接著要確認路由是否符合預期。Xray 路由規則通常依序比對,前面的寬泛規則可能先於後面的精確規則生效。請檢查目前產生的設定中實際使用的標籤,不要只憑介面上的節點名稱判斷出站。
- 確認出站標籤:規則中的
outboundTag必須與目標出站的tag相符。若日誌顯示流量進入封鎖用的出站,應先檢查規則,而不是修改 TLS。 - 區分兩種網域解析:節點網域解析失敗會導致無法連線至伺服器;目標網域解析失敗則可能影響直連,或影響需要比對 IP 的規則。使用
Resolve-DnsName example.com只能驗證系統解析器,不能取代核心的解析測試。 - 確認系統時間:在 Windows 中前往「設定」→「時間與語言」→「日期與時間」,開啟自動設定並執行同步。時間有誤會影響憑證有效期限的判定,也可能影響對時間敏感的驗證。
- 確認傳輸參數:WebSocket 的路徑和 Host、TLS 伺服器名稱、節點連接埠及加密設定都應與伺服器端一致。連線到同一個 IP,不代表連到同一個虛擬主機。
- 確認核心支援的功能:v2rayN 是管理端,實際的協定支援能力取決於使用的核心。尤其是 REALITY 與 XTLS Vision,不能只因成功匯入分享連結,就認定執行參數相容。
可暫時使用用戶端提供的全域代理路由進行比對,但請先記下原本的模式,測試後立即還原。若全域模式成功、原本的分流模式失敗,應優先比較規則和 DNS 策略;但這仍不代表問題一定出在路由,因為兩次請求也可能使用不同的網域解析流程。
日誌排查常見問題
只有 warning,沒有連線記錄,代表請求沒有進入核心嗎?
不一定。先暫時將日誌等級調整為 info 並重新啟動核心,再明確指定代理送出一次請求。連線日誌和錯誤日誌可能分開記錄;也要確認查看的是目前核心的輸出,而不只是訂閱更新訊息。
延遲測試有數值,為什麼網頁還是打不開?
先分清 TCP 延遲與實際代理請求測試。TCP 能連線,只能證明當下可連到相應的連接埠,不能證明驗證、TLS 和路由都正常。使用上方的固定網址重新測試,再確認是否在交握或讀取階段失敗。
訂閱更新逾時,也需要修改節點參數嗎?
先確認失敗的是訂閱網址請求,還是節點出站。檢查訂閱是否已過期,以及目前的更新方式能否連線至訂閱網域;若介面提供透過代理更新的選項,請先確認現有節點可用再試。無法取得訂閱不代表已儲存的節點失效。
同一個節點在 v2rayNG 可用,桌面版卻失敗?
先在兩端使用相同網路和相同參數進行比對。若 v2rayNG 使用 Xray 核心,也要比較核心版本、TLS 與 REALITY 欄位、DNS 和分流規則。v2flyNG 使用 v2fly 核心,不能假設兩款 Android 用戶端支援相同的協定。
尋求協助時,提供哪些資訊才足以排查?
請提供作業系統、v2rayN 和核心版本、協定與傳輸類型、重現時間、實際監聽連接埠,以及已遮蔽敏感資訊的錯誤前後約 20 行日誌。補充「明確指定代理測試成功或失敗」,比只貼一張連線逾時的截圖更有幫助。
排查的目標不是讓日誌完全沒有警告,而是讓相同請求能穩定成功,並確認原本在哪個環節失敗。修復後,請還原正常的日誌等級和原有分流模式,再測試一個原本應直連的目標,以及一個應走代理的目標,避免臨時測試設定長期留在設定中。
v2rayN 下載與設定教學
需要重新選擇用戶端時,先依作業系統查看下載入口;初次設定可參照教學確認節點匯入、本機連接埠和系統代理,再開始排查日誌。