2026-08-30 · 故障排查 · 約 8 分鐘

Shadowrocket 節點逾時怎麼辦?連線失敗的三步排查指南

透過延遲測試、逐項核對通訊協定參數,以及校準系統日期與時間,依序排查節點逾時和連線失敗,判斷問題出在用戶端設定或伺服器端。

本文重點

Shadowrocket(小火箭)發生節點逾時時,先確認測試方式與目前使用的網路,再核對既有連線資料,最後檢查系統時間與憑證有效期限。本文適合已有自己的服務商與連線資料,卻無法正常連線的使用者;依序檢查,可將問題範圍縮小至網路連通性、通訊協定設定或 TLS 驗證,避免一次變更多項設定。

排查前準備:區分測試逾時與實際請求失敗

延遲測試逾時,只表示這次測試未能在指定時間內收到預期回應,不能單憑這一項判定伺服器已停止服務。不同測試方式檢查的環節不同:TCP 測試主要檢查連接埠連線;應用層連通性測試則可能包含通訊協定交握、TLS 與測試目標。先記下目前使用的測試方式,再比較結果。

同樣地,系統顯示 VPN 已連線,只代表隧道已建立,並不表示遠端驗證、網域名稱解析和目標網站請求都已成功。排查時應沿著請求經過的環節逐步縮小範圍,而不是看到開關已開啟就略過連線資料核對。

應用程式請求 系統隧道 規則比對 通訊協定交握 目標回應

第一步:固定節點與測試方式,比較兩種網路

在 Home 確認目前選取的節點。先不要更新所有連線資料,也不要切換通訊協定;使用同一個節點和測試方式,在目前的網路重複測試並記錄結果。偶發失敗和持續失敗的處理方向不同;重複測試是為了確認問題是否能重現,而不是把單次延遲數值當成線路品質的結論。

  1. 確認測試對象

    開啟 Home,記下目前節點名稱、伺服器位址、連接埠和測試方式。確認選取的是預期節點,避免把其他節點的測試結果與目前的網頁瀏覽狀況混為一談。

  2. 排除規則影響

    前往 Home → Global Routing → Proxy,使用目前選取的節點測試一般網頁。此步驟僅用於暫時排除 Config 中的分流影響;測試完成後,請還原原本的 Global Routing 選項。

  3. 切換網路

    若裝置支援且已獲准使用,可將 Wi-Fi 切換為行動網路,或改用另一個可信任的 Wi-Fi。等網路穩定後,保持節點和參數不變,再以相同方式測試。

  4. 檢查自動連線

    若手動中斷後又自動連線,請前往 Settings → On Demand,記錄並檢查既有規則。需要暫停時,先關閉 On Demand,再手動測試連線;完成後還原原本設定。

1 個
固定節點,避免比較對象變動
2 種
可用網路,逐一重新測試
3 步
延遲測試、參數核對、時間校準

結論:先保留可用來區分網路的線索

同一節點在某個網路持續失敗、在另一個網路正常時,先檢查失敗網路的登入驗證、出口限制,以及連往伺服器的路徑;不要先修改密碼或憑證設定。兩種網路都失敗,也只能縮小問題範圍,仍需繼續核對參數和伺服器端狀態。

對於 Hysteria2、WireGuard 等依賴 UDP 的連線,不要用 TCP 測試結果代替通訊協定可用性的判斷。網路允許 TCP 通訊,不代表同一個位址的 UDP 通訊也能通過。比較時應保持通訊協定不變,並以實際連線和請求結果為準。

第二步:依通訊協定核對位址、連接埠與驗證參數

前往 Home → 對應節點的編輯頁面,依照自己的服務商提供的原始資料逐項核對。不要根據節點名稱猜測通訊協定,也不要複製其他連線的參數。連接埠必須與伺服器端的監聽連接埠一致:資料寫的是 8443,就不能因為啟用了 TLS 而自行改成 443;這兩個數字僅用來說明核對方式,並非通用設定。

先檢查伺服器位址是否誤加空格、通訊協定前綴或路徑,再檢查連接埠與驗證欄位。伺服器位址、TLS 的 Server Name 與 WebSocket 的 Host 可能用途不同;只有服務商資料明確要求一致時,才應填入相同內容。

通訊協定 優先核對項目 容易忽略的差異
Shadowsocks 伺服器位址、連接埠、Password、Method Method 和 Password 都必須相符;不能只確認連接埠可連通。
VMess / VLESS 伺服器位址、連接埠、UUID、傳輸方式及相關參數 使用 WebSocket 時,核對 Path 與 Host;TLS 和其他安全參數依原始資料填寫。
Trojan 伺服器位址、連接埠、Password、TLS Server Name 位址可連線不代表憑證網域相符,請勿任意更改 Server Name。
Hysteria2 伺服器位址、連接埠、驗證資訊及 TLS 參數 依賴 UDP;使用混淆時,還必須符合相應的類型和密碼。
WireGuard Endpoint、金鑰、介面位址及路由範圍 透過 UDP 通訊;對端金鑰錯誤也會導致交握失敗。

使用訂閱時,先區分更新失敗與節點連線失敗

訂閱更新是取得連線資料,節點連線則是使用這些資料連線至遠端,兩者並非同一個流程。在 Home 找到自己的訂閱群組並更新後,應核對該節點的位址、連接埠或驗證資訊是否有變動。更新成功不代表其中每個節點都能使用;更新失敗,也不代表已儲存的連線資料一定失效。

第三步:校準系統時間,檢查 TLS 錯誤

TLS 憑證包含有效期限;裝置時間明顯錯誤時,原本有效的憑證也可能被判定為尚未生效或已過期。在 iPhone 或 iPad 開啟系統「設定」→「一般」→「日期與時間」,檢查「自動設定」是否已開啟,並確認顯示的日期與時間正確。若選項受到裝置管理限制,請聯絡裝置管理方處理。

校準後重新連線並測試。若時間正確但憑證錯誤仍然存在,請繼續檢查 Server Name 是否與憑證網域相符,或請自己的服務商核對伺服器端憑證及憑證鏈。不要以關閉憑證驗證取代這些檢查;校準時間也無法修復伺服器端已過期的憑證。

錯誤:i/o timeout

原因:某個網路讀寫環節未能在時限內完成,單憑這一行無法確定是哪一層發生錯誤。

處理方式:參考前後的目標位址與交握資訊,先以同一個節點比較不同網路,再核對位址、連接埠及通訊協定參數。

錯誤:connection refused

原因:目標端或路徑中的設備明確拒絕了連線請求,可能是該連接埠沒有服務監聽,或設有拒絕連線的規則。

處理方式:核對服務商提供的連接埠,並請服務商確認監聽狀態與存取規則;不要只是不斷延長等待時間。

錯誤:x509: certificate has expired or is not yet valid

原因:憑證有效期限驗證失敗,可能是裝置時間異常,也可能是伺服器端憑證本身有問題。

處理方式:先校準系統日期與時間;若仍然失敗,請將已遮蔽敏感資訊的憑證錯誤提供給自己的服務商檢查。

以上是可能出現在記錄中的錯誤片段,並非固定的彈出訊息;不同通訊協定與連線階段顯示的完整內容可能有所不同。保留完整錯誤前後文,比只記下「逾時」兩個字更有助於定位問題;分享前仍應移除驗證資訊。

連線恢復後:核對 Config 與實際分流

若暫時使用 Proxy 可以正常存取,還原 Config 後卻只有部分網站連線失敗,排查重點應轉向目前生效的設定,而不是重新修改已確認可用的節點。前往 Config,確認目前選取的設定檔,再返回 Home → Global Routing → Config 重新測試。

規則會依序比對。DOMAIN-SUFFIX 比對指定網域及其子網域,IP-CIDR 比對 IP 網段,GEOIP 依 IP 地理位置比對,FINAL 則處理先前都未符合的請求。以下僅示範語法與順序,並非需要整份取代的故障修復設定:

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,DIRECT

結論:區分「節點連線失敗」與「請求路徑錯誤」

使用 Proxy 時請求正常、切回 Config 後相同請求失敗,先記錄符合的規則和實際出站路徑,再調整對應設定。只有確認請求確實經過待測節點,測試結果才能用來判斷該節點的連線狀態。

仍然失敗:整理可重現的回報紀錄

完成三步後仍無法恢復時,應向自己的服務商提供可供核對的問題現象,而不只是傳送節點名稱。測試結果有助於縮小問題範圍,但缺少伺服器端資訊時,無法據此斷定問題一定出在用戶端或伺服器。以下紀錄已足以支援下一輪檢查,無須提供完整驗證資料。

  1. 測試時間與網路:註明當地時間、時區,以及使用 Wi-Fi 或行動網路;並說明在另一個網路上是否也能重現。
  2. 通訊協定與測試方式:註明實際使用的通訊協定,例如 Shadowsocks、Trojan,以及使用的是連接埠測試或完整請求測試。
  3. 用戶端狀態:記錄 Global Routing 選項、目前節點、系統時間是否已校準,以及是否已檢查 On Demand。
  4. 失敗階段:說明是無法建立連線、驗證失敗、TLS 驗證失敗,還是連線後只有特定網站無法使用。
  5. 已遮蔽敏感資訊的證據:提供必要的錯誤前後文;刪除訂閱權杖、密碼、UUID、私鑰,以及包含這些資訊的 QR Code。

不要把重新購買用戶端當成處理節點逾時的方法。用戶端買斷 ≠ 線路方案:Shadowrocket 是閉源商業應用程式,透過 App Store 購買與使用者向自己的服務商取得連線服務是兩回事。Shadowrocket 僅於 Apple 平台發行,主要使用裝置為 iPhone、iPad;系統需求請以 App Store 頁面標示為準。

下載 Shadowrocket