プロキシタイムアウトエラー:接続が止まり、最終的に切断される

更新日:

タイムアウトは他のエラーと違って何も情報を返さないため、特に原因特定が困難です。接続拒否もパスワード要求もなく、ソフトウェアが諦めるまで沈黙が続きます。多くの場合、パケットが途中で消失しているか、プロキシが接続を受け付けたものの時間内に応答していないことが原因です。どの段階で応答が途絶えているかを特定することが解決への第一歩となります。

ターゲット市場に近いプロキシを選択

検証した3種類のタイムアウト出力

TCP接続を受け付けたまま応答を返さないテスト用プロキシを用意し、2種類のタイムアウト設定で同一リクエストを実行しました(アドレス表記は 203.0.113.10:8080、user123:pass456 に置き換えています)。

  • curl --connect-timeout 10 -x http://user123:[email protected]:8080 https://example.com は curl: (28) Proxy CONNECT aborted due to timeout を返します。この制限は接続フェーズのみを対象とします。
  • -m 10(転送全体に対する制限)に切り替えると、curl: (28) Connection timed out after 10002 milliseconds が返されます。
  • 同じプロキシを指定した Chromium では ERR_TIMED_OUT が表示され、プロキシチェッカーでは timeout と判定されます。

主な原因(可能性の高い順)

  • ネットワークがプロキシポートを通知なく遮断している。 オフィス、ホテル、学内 Wi-Fi などでは、標準外のポート宛てパケットを拒否せず破棄することが多く、その結果延々と応答待ちになります。
  • コード側のタイムアウト設定が短すぎる。 遠隔地のプロキシではハンドシェイクに少し時間がかかります。2〜3秒の制限では、正常に動作しているプロキシでも切断されてしまう場合があります。
  • プロキシまたは接続先サーバーが過負荷になっている。 プロキシは接続を受け付けたもののウェブサイト側の応答を待っており、先にクライアント側のタイムアウト上限に達してしまいます。
  • IPアドレスの間違い。 誤入力によって応答しないアドレスに接続すると、接続拒否ではなく無応答になります。

環境別の解決策

  • Windows/Chrome: スマートフォンのモバイルデータ通信経由で同じプロキシを試してください。タイムアウトが発生しなくなる場合、元のネットワークによる遮断が原因です。プロキシとファイアウォールの確認を参照してください。
  • アンチディテクトブラウザ: プロキシチェックボタンの待機時間は固定されているのが一般的です。数回再試行し、一部のプロファイルのみ失敗する場合は、正常に動作するプロファイルと設定行を比較してください。
  • Telegram: プロキシ有効化後に「接続中」のまま止まる現象も、多くはタイムアウトが原因です。Telegram の設定を変更する前に、チェッカーでプロキシをテストしてください。
  • Python requests: 接続に10秒、読み込みに30秒を指定する timeout=(10, 30) を渡します。停止している箇所を特定するために requests.exceptions.ConnectTimeout と requests.exceptions.ReadTimeout を個別にキャッチし、無制限のタイムアウトにするのではなく間隔を空けた再試行処理を追加してください。
  • curl: 接続ステップ単体を計測するには --connect-timeout を、コマンド全体の処理時間を制限するには -m を使用します。

タイムアウトか、それとも単に遅いだけか?

低速なプロキシであっても、遅れるだけで応答自体は返ってきます。プロキシスピードテストで実際の応答時間を確認し、ソフトウェアのタイムアウト値に近い場合は制限時間を引き上げるか、ターゲットに近い国のプロキシを選択してください。何度テストしても応答がない場合は本物のタイムアウトであり、チェッカーの結果を添えてサポートチケットを発行するのが次のステップです。

手順

  1. 1

    チェッカーでタイムアウトを確認する

    プロキシ設定行をプロキシチェッカーに貼り付けます。timeout の結果は、待機時間内に応答が届かなかったことを意味します。

  2. 2

    ネットワークを切り替えて原因を絞り込む

    モバイルデータ通信で再試行します。接続できた場合、元のネットワークまたはそのファイアウォールに問題があります。

  3. 3

    応答時間を測定する

    プロキシスピードテストを実行して、プロキシが単に遅いのか、完全に応答がないのかを確認します。

  4. 4

    ソフトウェアのタイムアウトとリトライを調整する

    接続制限時間を約10秒に引き上げ、再試行処理を追加してタスクを再実行します。

よくある質問

プロキシのタイムアウトは、プロキシが完全に停止していることを意味しますか?

必ずしもそうではありません。多くのタイムアウトはユーザー側のネットワークによるポート遮断が原因です。判断を下す前に、別のネットワークからテストしてください。

コード内でプロキシに設定すべき適切なタイムアウト値は?

接続に約10秒、読み込みに約30秒を目安に設定するのが適切です。遠隔地のプロキシや大容量ページの取得には、より長い時間が必要になる場合があります。

プロキシ経由で特定のウェブサイトだけがタイムアウトするのはなぜですか?

その場合、プロキシ自体は正常に動作しており、接続先サイトが遅いかブロックしています。無応答ではなく 502 が返される場合は、502 Bad Gateway を参照してください。

タイムアウトと接続拒否の違いは何ですか?

接続拒否は即座にエラーが返されますが、タイムアウトは制限時間に達するまで待ち続けます。詳細はプロキシサーバーによる接続拒否を参照してください。

ターゲット市場に近いプロキシを選択

VinaProxy はベトナム、米国、日本、韓国、シンガポール、英国、香港のIPを提供しており、ターゲットのすぐ近くに接続を維持できます。

料金を見る

関連記事

無料ツール
プロキシ速度&ターゲット別レイテンシ測定ツール
Google、Facebook、Shopee、Amazonのエンドポイントに対するHTTP(S)プロキシの実効速度と往復遅延(ms)を測定。認証情報は安全に破棄されます。
無料ツール
プロキシチェッカー:プロキシをオンラインで確認
無料のプロキシチェッカー。ip:port:user:pass形式で最大100件を貼り付け、接続状態・出口IP・遅延をオンラインで確認。エラーの意味も解説します。
プロキシエラー
プロキシとファイアウォールの確認:実践チェックリスト
ページが読み込めない際、Chromeはプロキシとファイアウォールの確認を提案します。Windowsのプロキシ設定、WinHTTP、ファイアウォール、ウイルス対策ソフトを順に確認し、再テストしましょう。
プロキシエラー
プロキシの502 Bad Gatewayエラー:送信元を特定する
プロキシ経由の502 Bad Gatewayは、中継サーバーが有効な応答を受け取れなかったことを意味します。プロキシとウェブサイトのどちらに問題があるかを、実際のcurl出力をもとに見分ける方法を解説します。
ツール別プロキシ設定
Python Requestsでプロキシを使用する方法(HTTP/HTTPS & Sessionプーリング)
Python requestsおよびrequests.Session()での認証付きHTTP(S)プロキシ設定。407 ProxyErrorの解決法と固定IPプールのローテーション手法。
ツール別プロキシ設定
Telegramにおけるプロキシ設定ガイド(PC&スマートフォン)
Telegramデスクトップ版、iOS、Androidに搭載された「接続タイプ → カスタムプロキシ」メニューからVinaProxy HTTPプロキシを直接設定します。
ツール別プロキシ設定
Google Chromeにおけるプロキシ設定ガイド
Chrome拡張機能、--proxy-serverコマンドラインフラグ、個別プロファイルを利用して、OS全体のIPを変えずにGoogle ChromeのみにVinaProxy HTTP(S)プロキシを設定します。
ツール別プロキシ設定
Windows 10 & Windows 11でプロキシを構成する方法
WinINETシステム設定、PowerShell環境変数、またはnetsh winhttpを使用して、Windows 10およびWindows 11でVinaProxy HTTP(S)プロキシを構成します。