本文適合已在 v2rayN 中選擇節點、啟動核心並開啟系統代理,但瀏覽器或終端機仍直接連線的情況。排查順序是先確認本機監聽埠,再分別驗證瀏覽器接管與終端機明確代理,最後檢查節點、路由與 DNS。完成後即可判斷故障位於應用程式、系統代理、本機埠號或遠端連線。
先區分四個環節,不要直接重新安裝
「系統代理已開啟」只代表作業系統儲存了一組代理位址,不代表每個應用程式都已使用這組位址。一次完整連線至少會經過應用程式代理設定、系統代理設定、本機監聽埠與遠端節點四個環節。任何一環中斷,表面現象都可能是網頁無法開啟或出口沒有變化。
瀏覽器通常會讀取系統代理,但也可能被瀏覽器自己的代理設定、企業原則或代理擴充功能覆寫。終端機程式則更加分散:部分命令會讀取 HTTP_PROXY 與 HTTPS_PROXY,部分需要命令列參數,還有些程式預設完全忽略系統代理。因此,瀏覽器正常而終端機直連並不矛盾。
結論:先驗證本機埠號
不要把 10808 或 10809 視為固定值。應以 v2rayN 目前顯示的監聽設定為準,再用明確代理命令存取同一個位址。明確代理成功而系統代理失敗,問題就在應用程式接管或系統設定;明確代理也失敗,再檢查核心、埠號與節點。
瀏覽器線:確認系統設定確實已接管
瀏覽器排查的第一步不是反覆重新整理網頁,而是確認作業系統實際寫入的代理伺服器。Windows 可前往「設定」→「網路和網際網路」→「代理伺服器」,查看手動代理是否指向 127.0.0.1,以及埠號是否與 v2rayN 的 HTTP 監聽埠一致。macOS 可前往「系統設定」→「網路」→目前網路→「詳細資訊」→「代理伺服器」,核對相同內容。
確認節點已啟用
在 v2rayN 主介面選取可用伺服器,將其設為啟用中的伺服器,再確認核心狀態沒有持續啟動或退出。
重新設定系統代理
先執行一次「清除系統代理」,等待 3 秒,再選擇「自動設定系統代理」。這一步用於清理遺留的舊位址與舊埠號。
核對系統埠號
開啟系統代理頁面,確認位址為 127.0.0.1,埠號等於 v2rayN 目前的 HTTP 埠號。若介面顯示 10809,系統設定也必須是 10809。
排除擴充功能覆寫
暫時停用瀏覽器中的代理管理擴充功能,完全退出瀏覽器後重新開啟。只關閉分頁通常不會重建代理程序。
建立乾淨視窗
使用新的瀏覽器設定檔或臨時訪客視窗測試,避免快取的網路原則、擴充功能規則與舊連線重複使用影響判斷。
如果一個瀏覽器正常、另一個瀏覽器失敗,本機核心與遠端節點通常已可使用,重點應轉向故障瀏覽器的獨立代理設定。部分瀏覽器可以選擇「不使用代理伺服器」、「使用系統代理伺服器」或「手動代理伺服器」,此處應選擇使用系統設定,或手動填入已確認的本機 HTTP 埠號。
錯誤:ERR_PROXY_CONNECTION_FAILED
原因與解法:瀏覽器已嘗試連線代理,但填入的本機位址沒有程式監聽——核對 127.0.0.1 後面的埠號,確認 v2rayN 核心處於執行狀態。
錯誤:ERR_TUNNEL_CONNECTION_FAILED
原因與解法:瀏覽器已連上 HTTP 代理,但代理無法為目標建立通道——切換至已測試可用的節點,再檢查路由規則是否拒絕該網域。
錯誤:代理伺服器拒絕連線
原因與解法:瀏覽器的獨立代理設定仍指向舊埠號,或本機監聽設定已變更——恢復使用系統代理,關閉瀏覽器的所有程序後重試。
- 只有一般視窗失敗而訪客視窗正常:優先檢查瀏覽器擴充功能與設定檔。
- 所有瀏覽器都失敗,但明確代理命令成功:優先檢查系統代理位址、埠號與例外清單。
- 瀏覽器只能存取部分網站:繼續檢查路由分流、DNS 與網域規則,不要只盯著系統代理開關。
- 切換節點後舊頁面仍然失敗:關閉舊分頁並等待數秒,避免重複使用先前建立的連線。
終端機線:以環境變數或參數明確指定代理
終端機中的 curl、套件管理器與開發工具不一定會讀取桌面系統代理。最可靠的測試方式是為單次命令明確指定代理。如果單次命令成功,表示 v2rayN 的本機埠號與節點正常,後續只需為特定工具設定環境變數或專用代理選項。
HTTP 代理與 SOCKS 代理不能只靠埠號名稱猜測。HTTP 測試應使用 v2rayN 顯示的 HTTP 埠號;SOCKS 測試應使用 SOCKS 埠號。使用 socks5h 可讓網域解析交由代理端處理,適合區分本機 DNS 解析失敗與代理連線失敗。
curl.exe --proxy http://127.0.0.1:10809 https://v2raylink.com/
curl --proxy socks5h://127.0.0.1:10808 https://v2raylink.com/
# PowerShell 目前工作階段
$env:HTTP_PROXY="http://127.0.0.1:10809"
$env:HTTPS_PROXY="http://127.0.0.1:10809"
# Linux 或 macOS 目前 shell
export HTTP_PROXY="http://127.0.0.1:10809"
export HTTPS_PROXY="http://127.0.0.1:10809"
export ALL_PROXY="socks5h://127.0.0.1:10808"
| 測試結果 | 可得出的判斷 | 下一步 |
|---|---|---|
| HTTP 與 SOCKS 都成功 | 本機核心、監聽埠與遠端節點基本正常 | 檢查特定終端機工具是否讀取環境變數 |
| HTTP 失敗、SOCKS 成功 | HTTP 埠號填寫錯誤或未啟用對應監聽 | 回到參數設定核對 HTTP 埠號 |
| HTTP 與 SOCKS 都拒絕連線 | 核心未監聽、埠號變更或程序已退出 | 檢查核心記錄與埠號占用情況 |
| 建立連線後長時間逾時 | 本機入口可連線,遠端節點或路由可能異常 | 切換節點並檢查連線記錄 |
錯誤:curl: (7) Failed to connect to 127.0.0.1 port 10809
原因與解法:該埠號沒有可用的 HTTP 監聽——在 v2rayN 中查看實際埠號,確認核心執行後使用正確埠號重試。
錯誤:curl: (5) Could not resolve proxy
原因與解法:代理位址格式錯誤,常見原因是多餘的引號、空格或協定標頭拼寫錯誤——依照 http://127.0.0.1:埠號 的格式重新設定。
錯誤:connection reset by peer
原因與解法:連線已抵達本機代理,但遠端鏈路中斷——切換節點,並核對訂閱中的伺服器位址、埠號與傳輸參數是否完整。
用戶端線:檢查監聽、核心與埠號占用情況
當瀏覽器與明確代理命令都失敗時,應回到 v2rayN 檢查本機服務。系統代理只是將流量指向本機埠號,真正接收連線的是 V2Ray 或 Xray 核心。若核心啟動失敗、設定產生失敗或埠號被其他程序占用,系統代理開關仍可能保持開啟,但所有連線都會失敗。
開啟基本設定
前往「設定」→「參數設定」→「基本設定」,記錄本機監聽位址、HTTP 埠號與 SOCKS 埠號。不同版本的欄位排列可能不同,請以介面實際值為準。
檢查核心類型
前往「設定」→「參數設定」→「Core 類型」,確認目前節點使用的協定與所選核心相容。VMess 與 VLESS 設定也應保留訂閱提供的傳輸參數。
查看執行記錄
重新啟動核心後立即查看記錄,重點搜尋 failed、error、bind、refused 與 invalid 等關鍵字,不要只看系統匣狀態。
更換監聽埠號
若記錄提示埠號已被占用,可將 HTTP 與 SOCKS 埠號分別改為未占用的值,儲存並重新啟動核心,之後重新寫入系統代理。
更新訂閱設定
在「訂閱群組」中執行更新所有訂閱,重新選擇啟用中的伺服器。若只有單一節點失敗,優先判斷節點設定,而不是重新安裝用戶端。
埠號變更後必須同步更新三個位置:v2rayN 的監聽設定、作業系統代理設定以及終端機環境變數。只修改其中一處,會形成「用戶端顯示執行中,但應用程式仍連線至舊埠號」的錯位。舊的終端機視窗還會保留原有環境變數,需要重新開啟終端機,或在目前工作階段中覆寫。
錯誤:bind: Only one usage of each socket address is normally permitted
原因與解法:本機監聽埠已被其他程序占用——結束占用程序或更換 v2rayN 埠號,再重新設定系統代理。
錯誤:failed to start core
原因與解法:核心程序未能完成啟動,可能是設定錯誤或檔案存取失敗——從同一時間點的記錄向上尋找第一個 error,依照具體欄位修正後重新啟動。
錯誤:invalid config
原因與解法:產生的節點設定含有缺少或不相容的欄位——更新訂閱並重新匯入節點,避免手動混用 VMess 與 VLESS 的傳輸參數。
連線已建立仍無法通訊:繼續檢查路由與 DNS
本機埠號可連線並不代表目標流量一定會經由遠端代理。v2rayN 的路由分流會依網域、IP、協定或規則集決定出口。若目標網域符合直連規則,出口位址不會變更;若符合封鎖規則,瀏覽器可能直接顯示連線失敗。此時反覆切換系統代理沒有意義。
| 現象 | 較可能的原因 | 驗證方式 |
|---|---|---|
| 明確代理成功,但出口仍未變更 | 目標網域符合直連規則 | 暫時切換至全域代理模式重新測試 |
| 網域連線失敗,直接存取已知位址有回應 | 本機 DNS 解析異常 | 使用 socks5h 測試遠端解析 |
| 只有單一節點持續逾時 | 節點位址、埠號或傳輸參數異常 | 切換同一訂閱中的另一個節點進行比對 |
| VMess 可用,但某一 VLESS 設定失敗 | 單一設定的傳輸或安全參數不完整 | 更新訂閱並對照記錄中的握手錯誤 |
排查路由時應先進行短時間比對測試:保持同一節點不變,分別使用規則分流與全域代理存取同一個目標。如果全域模式成功而規則模式失敗,就檢查該網域最終符合的規則與出口。測試完成後再恢復日常分流設定,避免把全域模式當成永久修復方案。
結論:一次只變更一個變數
固定目標位址與節點,依序變更應用程式代理方式、埠號與路由模式,每次只修改一項。如此可將故障穩定定位至瀏覽器接管、終端機設定、本機監聽或遠端節點,避免同時切換節點、DNS 與規則後無法確認真正原因。
依結果收斂:五分鐘檢查清單
完成排查後,不必依賴「圖示看起來正常」來判斷。以明確的連線結果收斂:系統設定中的埠號與用戶端一致、明確代理命令成功、停用代理擴充功能後瀏覽器可存取,且記錄中沒有新的啟動錯誤。以下順序適合同類問題再次出現時快速複查。
- 確認 v2rayN 已選擇啟用中的伺服器,核心記錄顯示啟動完成。
- 記錄實際的 HTTP 與 SOCKS 埠號,不要沿用記憶中的 10808 或 10809。
- 清除後重新設定系統代理,核對位址為 127.0.0.1 且埠號一致。
- 停用瀏覽器代理擴充功能,完全退出瀏覽器後重新開啟。
- 使用 curl 的
--proxy參數分別測試 HTTP 與 SOCKS 入口。 - 明確代理成功後,再為終端機工具設定目前工作階段的環境變數。
- 只有規則模式失敗時,檢查路由符合情況與 DNS,不要繼續修改本機埠號。
- 只有單一節點失敗時,更新訂閱並切換節點進行比對。
瀏覽器正常,為什麼終端機仍然直連?
多數終端機程式不會自動讀取桌面系統代理。為單次命令加入代理參數,或在目前 shell 設定 HTTP_PROXY、HTTPS_PROXY 與 ALL_PROXY。具體使用哪個變數,取決於工具支援的代理類型。
系統代理埠號一定要是 10809 嗎?
不是。10809 只是常見的範例值,埠號可以修改。系統代理、v2rayN 監聽設定與終端機環境變數必須使用同一個實際 HTTP 埠號。
開啟全域代理後恢復,代表哪裡有問題?
這通常表示本機埠號與節點可用,問題更可能出在路由分流。檢查目標網域符合的規則、規則順序與對應出口,測試後再恢復適合日常使用的分流模式。