適合核心已啟動、節點已選取,但瀏覽器仍逾時或顯示代理連線失敗的桌面使用者。先用明確指定代理的請求,分別確認「應用程式是否使用代理」與「代理能否完成請求」,再檢查監聽連接埠、系統時間、路由與節點參數。以下以 Windows 為例,連接埠請以用戶端目前顯示的值為準;每次只修改一項,並記錄結果。
1.「已連線」不代表網頁請求成功
v2rayN 的執行狀態、節點延遲測試結果與網頁是否可用,是三個不同層面。核心程序啟動,只能表示程式可以執行;TCP 延遲測試有結果,通常只能表示已連上遠端連接埠。驗證、傳輸層交握、DNS 解析及目標網站連線仍可能失敗。排查時應檢查實際請求,不要反覆點選延遲測試。
新版設定可能使用同時支援 HTTP 與 SOCKS 的混合連接埠;舊版設定也可能將兩種入站分開。10808 並非所有安裝環境都適用;如果介面顯示 HTTP 連接埠為 10809,HTTP 測試就使用該連接埠。節點伺服器連接埠則由伺服器端設定決定,請勿為了符合範例而改成 443。
- 先確認關閉代理後,本機網路是否能開啟通常可直接連線的網站。
- 記下目前使用的節點、路由模式、本機連接埠及故障發生時間。
- 暫時只保留一種流量接管方式。排查系統代理時,先關閉 TUN,避免兩條路徑互相干擾。
- 開啟用戶端記錄檔,再送出一次請求,對照同一時段的錯誤訊息。
2. 系統代理:確認瀏覽器將請求送往何處
系統代理決定應用程式是否將請求交給本機連接埠;路由模式則決定請求進入核心後要使用哪個出口,兩者不能互相取代。選取代理節點但未設定系統代理時,依照系統設定的瀏覽器仍可能直接連線;反之,若系統代理指向已停止服務的連接埠,原本正常的網站也會無法開啟。
-
檢查入站設定
開啟 v2rayN「設定」→「參數設定」,查看本機監聽位址、連接埠及入站協定。不同版本的分類名稱可能不同,請記下實際值,不要根據舊教學猜測連接埠。
-
設定系統代理
在主畫面或系統匣選單的「系統代理」中選擇「自動設定系統代理」。這是寫入系統代理設定,不代表所有版本都會啟用 PAC,也不表示所有應用程式的流量都會經過代理。
-
檢查系統設定值
前往 Windows「設定」→「網路和網際網路」→「Proxy」,確認目前的手動代理或設定指令碼。手動代理位址應與本機監聽設定一致;HTTP 代理不可指向僅支援 SOCKS 的連接埠。
-
排除瀏覽器設定覆寫
暫時停用代理切換擴充功能,檢查瀏覽器自己的代理設定,然後關閉並重新開啟測試頁面。如果系統代理設定值反覆變動,請先結束其他會修改代理設定的程式。
命令列工具不一定會讀取 Windows 系統代理。終端機請求成功或失敗,不能直接代表瀏覽器設定正確。以下使用明確指定的 --proxy 參數,就是為了排除這項差異,單獨檢查本機入站與後續連線。
3. 本機連接埠:用明確指定代理的請求區分入口與出口
在 PowerShell 中執行以下命令。明確使用 curl.exe,避免部分環境將 curl 解讀成其他命令。第一個命令適用於 HTTP 或混合入站,第二個適用於 SOCKS 或混合入站;請依目前的入站類型選擇執行,不需要兩個都成功。
curl.exe --noproxy "" --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
curl.exe --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com/
socks5h 會將目標網域交由 SOCKS 端解析,適合用來和本機解析路徑比對,但不能據此證明請求一定使用遠端 DNS。HTTP 測試若只出現 200 Connection established,還要繼續檢查 TLS 與目標網站回應;這只是代理通道建立時的中間回應,不代表網頁請求已完成。
| 觀察結果 | 優先檢查項目 | 下一步 |
|---|---|---|
| 立即拒絕本機連線 | 監聽連接埠、核心狀態 | 確認連接埠並檢查監聽程序 |
| 本機連線成功後持續逾時 | 節點、交握、DNS、路由 | 對照同一時間的核心記錄檔 |
| 收到目標網站的 HTTP 回應 | 瀏覽器的代理接管路徑 | 檢查擴充功能、系統代理與快取 |
| 收到 403 或 451 回應 | 網站存取政策 | 改用其他測試網站,不要直接判定節點失效 |
結論:明確指定代理後請求成功,先檢查應用程式入口
如果透過明確指定代理的方式能向同一個目標完成請求,但瀏覽器仍失敗,請先修正瀏覽器與系統代理設定;此時重設訂閱或更換整套核心通常不是優先處理方式。
如果提示連接埠已被占用,請用以下命令查詢監聽程序。只查看本機位址欄與 LISTENING 狀態,最後一欄是 PID;接著前往「工作管理員」→「詳細資料」確認程序。不要只憑 PID 就強制結束不明的系統程序。
netstat -ano | findstr ":10808"
發現舊核心程序殘留時,先正常結束對應的用戶端,再重新啟動。若要更換本機連接埠,必須同步修改系統代理與應用程式的手動代理設定;只改其中一處,會讓占用問題變成連線遭拒。單機使用通常維持 127.0.0.1 監聽即可,無需開放區域網路存取。
4. 時間與交握:從記錄檔辨別驗證和傳輸錯誤
系統時間有誤可能影響 VMess 驗證,也可能導致 TLS 憑證被判定為尚未生效或已過期。Windows 可前往「設定」→「時間與語言」→「日期與時間」,開啟自動設定時間並按下「立即同步」。同時確認日期與時區;重點是實際時間準確,不只是時鐘看起來接近正確。
錯誤:bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
原因:Windows 常見的監聽位址與連接埠衝突,實際記錄檔中可能會附帶位址前綴。
解法:使用 netstat 確認 PID,結束重複程序,或更換本機連接埠並同步更新系統代理。
錯誤:x509: certificate has expired or is not yet valid
原因:可能是系統時間不準,也可能是伺服器憑證有效期限異常;不能只憑這一行判斷問題出在哪一端。
解法:先同步本機時間;若仍出現錯誤,請聯絡服務提供者檢查憑證,不要以略過憑證驗證作為修復方式。
錯誤:dial tcp: lookup …: no such host
原因:這是常見的網域查詢失敗記錄格式,省略部分會顯示實際網域;可能是節點位址,也可能是目標網站位址。
解法:先確認查詢失敗的是哪個網域,再檢查拼字、系統解析及核心 DNS 路徑,不要貿然變更所有 DNS 設定。
錯誤:context deadline exceeded
原因:某個操作超過等待時間;單看這一行不足以判定節點失效。
解法:查看前後的記錄,確認逾時發生在解析、連線至遠端,還是存取目標的階段,再進行相應測試。
使用 VLESS、VMess 或 Trojan 時,匯入節點後仍須確認位址、連接埠、驗證資訊與傳輸設定。TLS 的 serverName、WebSocket 路徑及 gRPC 的 serviceName 都必須與伺服器端設定相符;REALITY 也需要符合伺服器提供的公鑰、shortId 等參數。不要把更換協定當成通用修復方式,用戶端核心也必須支援該設定。
5. 路由與 DNS:確認請求是否選錯出口
如果記錄顯示請求已進入核心,但部分網域仍無法連線,請檢查分流設定。V2Ray/Xray 的 routing.rules 會依序比對,符合規則後選擇對應出口;outboundTag 必須指向實際存在的 outbounds[].tag。也要檢查沒有規則符合時所使用的預設出口,不要假設流量一定會走代理。
- 先比對路由:記下目前模式,暫時切換為會讓一般目標請求經由代理的路由模式,測試相同網址後再還原。v2rayN 的路由模式與系統代理選單是不同的設定入口。
- 再檢查攔截規則:如果一般網站可以連線,只有特定網域失敗,請確認它是否符合直連或阻擋規則,特別留意範圍較廣的網域規則與 IP 規則順序。
- 確認解析對象:節點使用網域名稱時,連線至節點前就需要可用的 DNS 解析路徑;只調整目標網站的 DNS,可能無法解決節點網域解析失敗。
- 了解欄位用途:
routing.domainStrategy控制路由比對時的網域解析行為,不是應用程式接管開關,也無法單獨保證所有 DNS 查詢都不會外送。 - 保留存取記錄:可暫時查看記錄檔中的目標位址與出口 tag;如果 GUI 會自動產生設定,請修改對應的路由設定,直接編輯暫存產生的檔案可能會被覆寫。
瀏覽器安全 DNS、系統 DNS 與核心 DNS 可能使用不同的解析路徑。使用 nslookup 可以查看系統使用的解析器,但無法據此證明代理內部的 DNS 解析正常,也不能單靠它判斷瀏覽器所有 DNS 請求的去向。如果只有瀏覽器發生問題,可暫時調整瀏覽器的安全 DNS 設定進行比對,測試後再還原原設定。
6. 節點狀態:區分連接埠可連通與協定可用
確認本機監聽正常但明確指定代理的請求仍失敗後,再檢查遠端連線。PowerShell 的連接埠測試只會建立 TCP 連線,不會驗證 VMess、VLESS 或 Trojan 的驗證資訊與傳輸參數。因此 TcpTestSucceeded: True 只能縮小問題範圍,不能取代實際網頁請求。
$nodeHost = Read-Host "輸入目前節點的伺服器位址"
$nodePort = [int](Read-Host "輸入目前節點的伺服器連接埠")
Test-NetConnection -ComputerName $nodeHost -Port $nodePort
- 確認設定來源:檢查訂閱是否已更新、帳號是否到期,以及流量額度是否用盡。請勿將訂閱連結、UUID、密碼或完整設定檔傳給陌生人。
- 換用已知可用的節點:維持相同的本機連接埠與路由設定,以相同網址重新測試。若只有單一節點失敗,請優先確認該節點的參數與伺服器狀態。
- 更換網路:以手機熱點和目前的網路進行比對。若熱點可用、原網路失敗,請優先檢查原網路的出口限制、DNS 與防火牆政策。
- 查看封鎖記錄:安全軟體可能允許介面程式連線,卻阻止核心程序存取網路。確認程式路徑與記錄後,再新增必要的允許規則;不要把永久關閉防火牆當成解決方法。
如果所有節點同時失敗,而且記錄顯示核心無法啟動,應先處理設定解析或核心相容性問題,而不是不斷重新整理訂閱。升級前請備份設定;升級後確認目前使用的核心是否支援節點協定。軟體升級無法修復遠端憑證、帳號流量額度或伺服器端參數錯誤。
7. 常見問題與恢復連線後的檢查
延遲測試有數值,為什麼網頁還是逾時?
TCP 測試不一定會完成協定驗證或目標網站存取。請先執行本文的明確指定代理請求,再依相同時間檢查記錄檔,分別確認本機連線、遠端交握與目標回應;不要用延遲數值取代可用性判斷。
只有瀏覽器能上網,其他軟體卻不行?
部分軟體不會讀取系統代理。請檢查軟體本身的網路設定;若支援 HTTP 或 SOCKS,請填入實際監聽位址與對應連接埠。需要評估 TUN 時再單獨啟用,並重新檢查路由與 DNS;不要以為系統代理會接管所有流量。
結束 v2rayN 後,一般網頁也打不開了?
先重新開啟用戶端,在「系統代理」中選擇「清除系統代理」,接著前往 Windows「網路和網際網路」→「Proxy」,確認是否仍指向本機舊連接埠。如果裝置由組織管理,請保留組織要求的設定並聯絡管理員。
重新啟動後又出問題,需要重新安裝嗎?
先檢查啟動順序、連接埠占用情況,以及系統代理是否被其他程式覆寫。問題重現時記錄監聽 PID 與記錄檔,確認是核心未啟動,還是瀏覽器的代理入口失效;尚未找出原因前重新安裝,可能只會讓有效設定遺失。
恢復連線後,請撤銷排查時暫時加入的全域路由與除錯設定,並保留需要的系統代理模式。至少重新測試一個通常直接連線的網站、一個需要代理的網站,以及先前出問題的應用程式。確認結果符合預期後,記下有效的變更。