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

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

登入循環、Access Denied、超時與長回覆中斷要從對應請求找原因。固定節點並查看實際出口,分別核對瀏覽器會話、服務限制與持續連線;應用沒有 Connections 記錄時檢查代理接管。

  • Claude
  • ChatGPT
  • Access Denied
本文目錄

ChatGPT 或 Claude 的首頁能開啟,登入或傳送訊息卻失敗時,重試首頁無法解答問題。應把失敗操作的狀態碼與 Clash 記錄對照,區分未進入代理、出口錯誤,以及請求已到服務但遭拒絕。測試時固定節點,再分別檢查登入工作階段與持續回覆,避免出口變化干擾判斷。

超時、403 和回覆中斷分別代表什麼?

記錄錯誤原文、發生時間與剛才的操作,分別確認是登入失敗、頁面元件空白,還是回覆中斷。不要把幾種現象都記成「連不上」,它們可能來自不同請求。

錯誤提示與檢查方向

看到的現象優先判斷
頁面框架出現,圖示、按鈕或登入元件空白靜態資源網域可能走了不同規則或出口
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,則網路已經到達服務,繼續檢查帳號、登入方式和服務提示。頻繁換地區或出口還可能讓一次登入跨越多個會話環境,測試期間應保持固定節點。

403 Access Denied:帳號、地區與服務限制

明確的 403 或 Access Denied 通常說明請求已到達網站,但被拒絕。檢查頁面原因、帳號狀態、地區限制、服務支援範圍,以及目前出口是否符合服務條款。這類拒絕與 DNS 逾時、連接埠未開放的原因不同。

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

長回覆中斷時,比較節點與接入網路

模型回覆會持續返回資料,節點完成一次延遲探測,不代表它能穩定維持幾十秒的連線。測試時將策略群組改為 select(手動選擇),固定一條節點,用可重複的長提問觀察中斷時 Connections 的結束原因。

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

網頁正常但桌面應用或 API 無法存取

瀏覽器通常遵循 Windows 或 macOS 系統代理,終端中的 curl、SDK 和部分桌面應用程式可能使用自己的網路設定。同一 API 請求在 Connections 中沒有新紀錄時,先確認應用程式是否使用目前代理,而不是立即換節點。

命令列工具可以按自身文件設定 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 應能看到相關請求,頁面不再回傳原來的錯誤,回覆也能完整結束。

短訊息與原本失敗的請求都能完整回傳後,再恢復 url-test 或 fallback。若自動群組恢復後問題重現,就有明確的對照:帳號和規則沒有變化,變化的是出口選擇。

參考資料