接続拒否:接続の試行に対して明示的な拒否が返りました。タイムアウト:設定した期限内に試行が完了しませんでした。まず、そのメッセージがどの接続を指しているか確認します。

接続拒否は、プロキシが待ち受けを停止した場合やポートが違う場合に起こり得ます。ただし、ファイアウォールや別の機器が明示的に拒否する場合もあり、メッセージだけでは拒否した機器を特定できません。タイムアウトには、通信の破棄、経路障害、損失、接続確立が遅すぎるなど、より多くの可能性があります。

どちらの症状も、必ずしもクライアントからプロキシへの接続を指すとは限りません。到達できるSOCKSサーバーが、自身から接続先への接続が拒否されたと返す場合もあります。同様に、CONNECT成功後にWebサイトを待つことと、プロキシの待ち受けポートへの到達を待つことは別です。

最初に失敗した段階を探す

HTTPプロキシでは、文書用のアドレスを置き換えて詳細出力の流れを確認します。

curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/

5秒の接続時間枠は該当する接続確立全体に適用され、各段階で新たに5秒ずつ待つ設定ではありません。15秒の全体制限は、その後の転送時間も制限します。プロキシへの接続、プロキシからの応答、トンネルの受理、接続先の応答のうち、最後に成功した箇所を探してください。

接続先とプロトコルを固定し、利用サービスまたは無料プロキシリストから別のエンドポイントを試します。それが動くなら、最初のエンドポイントかその経路を調べます。どちらもプロキシのポートへ接続する前に失敗するなら、ローカルネットワークとクライアント設定を確認します。IP、プロトコル、ポート、接続先、タイムアウトを同時に変えると、比較から結論を出せなくなります。

時間を置いて一度再試行すれば、一時的な障害かを見分けられる場合があります。短時間の再試行や待ち時間の際限ない延長では、得られる手掛かりはほとんど増えません。公開リストの項目で回数や時間を区切って数回失敗したら、正確なエラーを保存して別の項目へ移りましょう。

関連記事