連線疑難排解 · Clash 技術部落格

Clash 連不上 ChatGPT 或 Claude?登入與超時檢查

「連不上」可能是登入循環、Access Denied、請求超時或長回覆中斷。先固定一個出口並重現原來的錯誤,再按錯誤發生的位置處理。

  • Claude
  • ChatGPT
  • Access Denied
本文目錄

頁面上的錯誤,決定這次該查哪一層

ChatGPT 或 Claude 打不開時,先把頁面上的原話記下來。一直轉圈、ERR_TIMED_OUT 與 403 Access Denied 不是同一類故障;401、429、5xx 也各自指向認證、頻率限制或伺服器端異常。只寫「不能用」,後面每一步都只能靠猜。

頁面結果先這樣分

看到的現象優先判斷
頁面框架出現,圖示、按鈕或登入元件空白靜態資源網域可能走了不同規則或出口
ERR_CONNECTION_TIMED_OUT / 請求超時網路路徑、節點或長連線失敗
401 / Unauthorized登入狀態、令牌或 API 認證資訊
403 / Access Denied服務策略、帳號狀態或請求被拒絕
429 / Too Many Requests頻率或額度限制,不是節點延遲
500 / 502 / 503伺服器端或上游臨時異常,先看官方狀態
回覆寫到一半停止串流連線、節點切換或網路抖動

瀏覽器首頁能開啟,只說明主頁面到了。指令碼、圖片和登入元件可能來自其他靜態資源網域,登入跳轉、檔案上傳和模型串流回覆也會產生不同請求。頁面只有外殼時,要在 Connections 中確認這些資源是否和模型請求走同一穩定出口,而不是拿另一個網頁代替測試。

固定一個出口,保留可以比較的失敗現場

建立可復現的測試

  1. 在 Proxies 固定一條節點

    暫時不要使用 url-test 或 fallback,避免測試過程中出口變化。

  2. 保持 Rule 模式

    開啟 Connections,準備觀察失敗動作對應的網域與規則。

  3. 只重複一個動作

    例如按一下登入、傳送同一句短訊息,或上傳同一個小檔案。

  4. 儲存頁面狀態和 Clash 結果

    記下 HTTP 狀態、連線出口、耗時與日誌錯誤。

如果失敗動作在 Connections 中完全找不到,瀏覽器或桌面應用可能沒有經過目前 Clash。若記錄出現但命中 DIRECT,檢查規則;已經走到固定節點卻 timeout,才值得換節點或網路做對照。

登入頁反覆跳回,重點是會話有沒有建立

登入循環常表現為輸入帳號後又回到登入頁,或者驗證碼完成卻沒有進入對話。此時先在同一瀏覽器的無痕視窗重試,排除過期會話和擴展干擾;不要一上來清掉所有網站資料,那會同時退出其他帳號。

觀察按一下登入後的請求:認證跳轉若沒有進入 Clash,處理瀏覽器代理;請求進入後回傳 401 或 403,則網路已經到達服務,繼續檢查帳號、登入方式和服務提示。頻繁換地區或出口還可能讓一次登入跨越多個會話環境,測試期間應保持固定節點。

登入問題需要留下的資訊

  • 發生循環的具體頁面和按鈕
  • 無痕視窗是否得到相同結果
  • 失敗請求回傳 401、403 還是 timeout
  • 登入前後是否一直使用同一固定出口

Access Denied 不是「再加一層代理」就能解決

明確的 403 或 Access Denied 通常說明請求已經到達網站,只是被拒絕。檢查頁面給出的原因、帳號狀態、地區限制、服務支援範圍和目前出口是否符合服務條款;這與 DNS 超時、連接埠沒開屬於不同層。

Global 模式最多用於判斷某條規則是否把請求送錯了出口,不能把伺服器端拒絕變成網路成功。若 Rule 和 Global 都在同一固定節點上回傳同一個 403,應停止調整 Clash,轉而處理帳號或服務政策。

短網頁正常、長回覆中斷,要測試連線持續性

模型回覆是持續回傳的資料流。節點能完成一次延遲探測,並不代表它能穩定維持幾十秒的連線。用一條稍長但可重複的提問測試,觀察中斷時 Connections 的結束原因;同時關閉自動切換,避免回覆中途被換到另一個出口。

同一固定節點在家庭網路和手機熱點上各試一次。若只在其中一個網路中斷,重點檢查這個網路和 DNS;若兩個網路都在相近位置中斷,換另一條協議或節點對照。不要用一次成功就下結論,至少重複兩三次相同請求。

回覆中斷時出現 timeout

比較另一固定節點與另一網路,找出是節點出口還是本機網路。

中斷瞬間策略群組自動換節點

疑難排解期間改用 select 固定出口,穩定後再調健康檢查。

頁面提示 429

查看帳號額度與頻率說明,繼續測速不會消除限制。

所有使用者同時收到 5xx

查看服務官方狀態,等上游恢復後重新測試。

網頁能用、桌面端或 API 不行,要看處理程式是否讀取系統代理

瀏覽器通常遵循 Windows 或 macOS 系統代理,終端中的 curl、SDK 和部分桌面應用則可能使用自己的網路設定。執行同一個 API 請求時,Connections 沒有任何記錄,說明請求還沒進入 Clash,換節點沒有意義。

命令列工具可以按自身文件設定 HTTP_PROXY、HTTPS_PROXY;需要統一接管多個不讀取系統代理的應用時,再考慮 TUN。API 回傳 401 代表請求已經到伺服器端,應該核對 API key 和請求格式,而不是繼續擴大代理範圍。

macOS / Linux 臨時對照,先把 7890 換成用戶端實際連接埠
CLASH_PORT=7890
export HTTP_PROXY="http://127.0.0.1:${CLASH_PORT}"
export HTTPS_PROXY="http://127.0.0.1:${CLASH_PORT}"
export NO_PROXY="localhost,127.0.0.1,::1"
curl -I https://example.com
Windows PowerShell 臨時對照,7890 同樣是連接埠佔位值
$CLASH_PORT = 7890
$env:HTTP_PROXY = "http://127.0.0.1:$CLASH_PORT"
$env:HTTPS_PROXY = "http://127.0.0.1:$CLASH_PORT"
$env:NO_PROXY = "localhost,127.0.0.1,::1"
curl.exe -I https://example.com

用一條短訊息確認請求能完整結束

回到固定節點和 Rule 模式,完成一次登入並傳送一條短訊息。Connections 裡應能看到這次操作涉及的請求,頁面不再回傳原來的錯誤,回覆也能完整結束。

若仍失敗,就按現象繼續處理:沒有連線記錄就檢查接管方式,顯示 DIRECT 就檢查規則,出現 timeout 就比較節點和網路,回傳 401、403 或 429 則按伺服器端結果檢查。

一條短訊息能完整回傳以後,再恢復 url-test 或 fallback。若自動組恢復後問題重現,這次就有明確的對照:帳號和規則沒有變化,變化的是出口選擇。

參考資料