這份清單適合已匯入節點、v2rayN 核心能啟動,但網頁或終端機命令仍連線失敗的情況。排查時先確認本機代理連接埠確實正在監聽,再分別測試瀏覽器與命令列工具,最後檢查 DNS、路由規則與遠端節點;完成後即可判斷問題位於應用程式、系統代理、本機入站或遠端出站。
先建立可重現的本機代理基準
「系統代理已啟用」只代表作業系統儲存了一組代理位址,不代表 v2rayN 的本機連接埠正在運作,也不代表每個應用程式都會讀取這組設定。一次完整排查至少要確認三個環節:核心正在執行、本機入站連接埠正在監聽,以及測試應用程式確實將請求送往該連接埠。
以 v2rayN 7.x 的常見設定為例,HTTP 代理可能監聽於 127.0.0.1:10809,SOCKS 代理可能監聽於 127.0.0.1:10808。這些數字只是常見範例,實際值應以用戶端介面中的本機監聽設定為準。升級版本、匯入備份或手動修改連接埠後,舊教學中的連接埠未必仍適用。
- 在 v2rayN 主介面確認目標節點已設為目前使用的伺服器,核心狀態沒有停留在啟動失敗或反覆重新啟動。
- 開啟「設定」→「參數設定」,記錄本機 HTTP、SOCKS 監聽連接埠與監聽位址。若選單文字隨版本調整,請尋找包含「本機連接埠」或「入站設定」的頁面。
- 從系統匣選單選擇「設定系統代理」的啟用狀態,不要誤選「清除系統代理」或「保持系統代理不變」。切換後完整關閉並重新開啟測試瀏覽器。
- 暫時選擇一個能完成延遲測試的節點,並將路由切換至方便驗證的代理模式。基準測試通過後,再恢復原本的分流規則。
瀏覽器路線:確認系統代理是否確實被讀取
多數桌面瀏覽器預設會讀取作業系統代理,但瀏覽器內部仍可能保留獨立代理策略、擴充功能設定或舊程序。修改系統代理後只重新整理頁面並不一定足夠,因為背景程序可能繼續使用啟動時讀取的設定。完整退出瀏覽器後重新開啟,即可排除這類快取狀態。
測試時先使用一般視窗,暫停會改變代理方式的瀏覽器擴充功能,並選擇一個之前未開啟過的網址。若一般網頁可以存取而特定網域失敗,表示本機代理鏈路大致已接通;下一步應檢查路由命中、DNS 解析與遠端目標,而不是反覆切換系統代理開關。
| 觀察結果 | 較可能的問題位置 | 下一步操作 |
|---|---|---|
| 所有網頁立即顯示連線遭拒 | 本機連接埠未監聽或連接埠填寫錯誤 | 核對 v2rayN 本機連接埠,檢查核心啟動記錄 |
| 頁面等待很久後逾時 | 節點出站、網路連通性或路由規則 | 切換至已知可用節點,查看出站逾時記錄 |
| 一個瀏覽器可用,另一個無法使用 | 瀏覽器獨立代理設定或背景程序 | 選擇「使用系統代理」,完整退出後重新開啟 |
| 網域失敗,直接存取測試 IP 有回應 | DNS 查詢路徑或網域規則 | 檢查用戶端 DNS 設定與網域分流規則 |
| 瀏覽器可用,終端機命令直連失敗 | 終端機工具未讀取系統代理 | 為目前終端機設定代理環境變數 |
結論:瀏覽器成功不代表所有程式都已接管
瀏覽器測試通過,只能證明「瀏覽器→系統代理→本機入站→遠端出站」這條路線可用。終端機、背景服務與自行管理網路連線的程式,仍需個別確認代理來源。
瀏覽器仍然直連時要檢查什麼
- 開啟瀏覽器網路設定,確認選擇的是「使用系統代理」,而不是手動填寫的舊位址。
- 檢查系統代理位址是否為
127.0.0.1,連接埠是否與 v2rayN 目前的 HTTP 連接埠一致。 - 關閉可能覆寫代理設定的擴充功能,再使用一般視窗重複測試。
- 確認系統時間與時區正確。時間偏差過大可能導致 TLS 連線失敗,表現上容易被誤認為代理失效。
- 查看 v2rayN 執行記錄。重新整理網頁時完全沒有新增連線記錄,通常表示請求根本沒有進入本機代理。
終端機路線:使用環境變數或明確參數指定代理
命令列終端機只是啟動程式的容器,本身不會自動將所有網路連線轉交給系統代理。真正決定是否使用代理的是具體工具:有些會讀取 HTTP_PROXY 與 HTTPS_PROXY,有些只接受命令參數,還有些需要寫入自己的設定檔。因此「瀏覽器能開啟,終端機卻逾時」通常不是節點突然失效,而是兩者走了不同的網路路徑。
對於支援 HTTP 代理環境變數的工具,可以先在目前的終端機工作階段暫時設定。代理位址中的協定仍寫成 http://,即使目標是 HTTPS 網站,工具也會透過 HTTP 代理建立 CONNECT 通道。以下繼續使用 10809 作為範例,執行前請替換為介面顯示的實際連接埠。
Windows PowerShell 暫時設定
$env:HTTP_PROXY="http://127.0.0.1:10809"
$env:HTTPS_PROXY="http://127.0.0.1:10809"
$env:NO_PROXY="localhost,127.0.0.1"
這三行只會影響目前的 PowerShell 程序及其之後啟動的子程序。關閉視窗後設定便會自然消失,適合排查,不適合長期依賴。查看目前值可執行 $env:HTTPS_PROXY;清除時使用 Remove-Item Env:HTTP_PROXY 與 Remove-Item Env:HTTPS_PROXY。
Windows 命令提示字元暫時設定
set HTTP_PROXY=http://127.0.0.1:10809
set HTTPS_PROXY=http://127.0.0.1:10809
set NO_PROXY=localhost,127.0.0.1
macOS 與 Linux 目前 Shell 暫時設定
export HTTP_PROXY="http://127.0.0.1:10809"
export HTTPS_PROXY="http://127.0.0.1:10809"
export NO_PROXY="localhost,127.0.0.1"
若工具支援 SOCKS5,可以使用明確參數驗證 10808 連接埠。socks5h 中的字母 h 表示讓代理端解析目標網域,這有助於區分「本機 DNS 失敗」與「代理鏈路失敗」。並非所有程式都會讀取 ALL_PROXY,因此明確參數通常更適合用於第一輪驗證。
curl -v --proxy socks5h://127.0.0.1:10808 https://example.com/
curl -v --proxy http://127.0.0.1:10809 https://example.com/
- 明確指定代理的命令成功,一般命令失敗:工具未讀取系統代理,應保留命令參數或設定環境變數。
- HTTP 代理成功、SOCKS5 失敗:核對 SOCKS 連接埠與本機入站類型,不要將兩個連接埠互換。
- 兩種明確代理都失敗:回到 v2rayN 檢查監聽狀態、目前使用的節點與執行記錄。
- 命令可以連線但下載途中中斷:注意遠端連線重設、節點穩定性與目標服務限制,不要只檢查本機連接埠。
根據實際錯誤將問題定位到具體層級
終端機的詳細輸出比「無法存取」更有價值。使用 curl -v 時,先確認它連線的是否為 127.0.0.1 與預期連接埠,再查看代理是否成功建立通往目標網站的通道。若第一步就失敗,問題在本機;若本機連線成功後才逾時,問題通常已轉移至路由或出站。
錯誤:curl: (7) Failed to connect to 127.0.0.1 port 10809
原因與解法:本機 HTTP 連接埠沒有監聽,或命令使用了錯誤連接埠——開啟「設定」→「參數設定」核對連接埠,確認 v2rayN 核心已成功啟動。
錯誤:curl: (5) Could not resolve proxy: 127.0.0.1:10809
原因與解法:代理變數格式可能寫錯,工具將整段內容當成代理主機名稱——將值寫成 http://127.0.0.1:10809,並清除多餘引號、空格或重複的協定標頭。
錯誤:Proxy CONNECT aborted
原因與解法:HTTP 代理已收到請求,但通道未能成功建立——確認連接埠類型沒有填成 SOCKS,再檢查 v2rayN 的出站記錄與目前使用的節點。
錯誤:connection refused
原因與解法:目標位址主動拒絕連線——若被拒絕的位址是 127.0.0.1,請檢查本機監聽;若記錄顯示遠端伺服器拒絕,應核對節點位址、連接埠與協定參數。
錯誤:context deadline exceeded
原因與解法:請求未能在限定時間內完成——先切換至另一個已知可用節點,再分別檢查 DNS、網路丟包,以及路由是否將目標錯誤送往直連出站。
執行記錄應依什麼順序查看
- 入站:執行測試命令時,是否出現來自本機的新連線。完全沒有記錄,表示應用程式未使用代理或連接埠填寫錯誤。
- 路由:目標網域或 IP 被送往代理、直連還是阻斷出站。在分流模式下,規則命中結果比節點延遲更重要。
- 出站:是否出現連線逾時、連線遭拒、網域解析失敗或驗證參數錯誤。這裡的錯誤才直接與遠端節點相關。
- 返回:通道建立後是否很快被重設。若只有特定目標發生,還需考慮目標服務的連線策略。
瀏覽器可用但部分命令失敗:檢查 DNS 與分流
同一網域在瀏覽器與終端機中可能採用不同的解析路徑。瀏覽器可能使用自身的安全 DNS 設定,終端機工具通常呼叫作業系統解析器;使用 socks5:// 時可能先在本機解析,使用 socks5h:// 時則會將網域交給代理端處理。解析位置不同,取得的位址與路由命中結果也可能不同。
分流規則同樣會造成「有些程式能用、有些程式不能用」的表象。V2Ray 或 Xray 核心會依據網域、IP、連接埠與入站標籤選擇出站。若目標網域被歸入直連規則,即使應用程式已連線至本機代理,請求仍可能從直連出口離開。此時系統代理並未失效,真正需要修正的是路由判斷。
- 先將測試目標換成穩定且確認可存取的位址,避免把單一網站故障誤判為代理故障。
- 使用
socks5h://127.0.0.1:10808與http://127.0.0.1:10809各測試一次,比較是否只有本機解析路線失敗。 - 在 v2rayN 路由設定中查看目標網域命中的規則,暫時切換至較簡單的代理模式進行對照。
- 若只有啟用自訂規則後才失敗,逐條檢查網域後綴、IP 網段與規則順序。排序較前的規則可能提前攔截請求。
- 修改 DNS 或路由後重新啟動核心,再開啟新的終端機視窗,避免舊連線與舊環境變數干擾結果。
結論:先判斷請求是否進入本機入站
執行記錄沒有新連線時,檢查應用程式代理設定;有入站卻沒有可用出站時,檢查路由與節點。沿著這條界線排查,比持續更換節點更容易得到穩定結論。
常見問題與復原方法
完成測試後應整理並還原暫時修改,避免下次啟動時舊變數、舊連接埠與新設定互相覆蓋。尤其是長期寫入環境變數的設定,即使 v2rayN 已退出,命令列工具仍會繼續嘗試連線至原本的本機連接埠,最後便會持續出現連線遭拒。
系統代理開關已啟用,瀏覽器為什麼仍然直連?
先完整退出瀏覽器,再確認瀏覽器網路設定選擇「使用系統代理」。重新整理頁面時同時觀察 v2rayN 記錄;沒有新增入站記錄,表示請求仍未進入本機代理。
瀏覽器正常,為什麼 curl 一直逾時?
先執行帶有 --proxy http://127.0.0.1:10809 的命令。明確指定代理成功後,再為目前終端機設定 HTTP_PROXY 與 HTTPS_PROXY。
HTTP 連接埠和 SOCKS 連接埠可以混用嗎?
不可以。HTTP 用戶端要連線至 HTTP 入站,SOCKS5 用戶端要連線至 SOCKS 入站。若範例連接埠分別為 10809 和 10808,填寫時仍應以用戶端的實際設定為準。
關閉 v2rayN 後終端機無法連線怎麼辦?
清除目前工作階段或系統中儲存的代理環境變數,再開啟新的終端機。若工具還有獨立代理設定,也要刪除指向 127.0.0.1 舊連接埠的項目。
只有一個網域無法開啟,需要重新安裝用戶端嗎?
通常不需要。先查看該網域的 DNS 結果與路由命中情況,再用簡單代理模式進行對照。其他目標正常時,本機監聽與基本代理鏈路通常已可運作。
排查完成後的收尾清單
- 將暫時切換的全域代理模式恢復為原本的路由分流設定。
- 清除僅用於測試的
HTTP_PROXY、HTTPS_PROXY或ALL_PROXY環境變數。 - 確認系統代理連接埠仍與 v2rayN 目前的本機 HTTP 連接埠一致。
- 保存一份有效節點、連接埠號碼、測試命令與關鍵錯誤的文字記錄,下次即可直接從失敗的層級繼續檢查。
- 若更換節點後恢復,繼續觀察一段時間,以區分短暫網路波動與節點設定錯誤。