ERR_CONNECTION_TIMED_OUT とは?原因と解決方法

Advertisement
ERR_CONNECTION_TIMED_OUT とは?
ERR_CONNECTION_TIMED_OUT は、Chrome などの Chromium 系ブラウザがウェブサイトのサーバーからまったく応答を得られないときに表示するエラーです。画面には「このサイトにアクセスできません。example.com からの応答時間が長すぎます。」と表示されます。内部的には Chromium のネットエラー -118(「接続の試行がタイムアウトした」)にあたります。
接続を開くために、あなたのコンピューターはサーバーに TCP の接続要求(SYN パケット)を送り、応答を待ちます。通常、応答は数ミリ秒以内に届きます。応答が返ってこないと、オペレーティングシステムは間隔を広げながら SYN を数回再送し、最終的にブラウザが諦めてこのエラーを表示します。
重要なのは「無応答」だという点です。稼働中でも何も待ち受けていないサーバーなら、即座に拒否を返します。タイムアウトの場合は誰もまったく応答しなかったのです。パケットがどこかで破棄されたか、何も存在しないアドレスに送られたかのどちらかです。
ERR_CONNECTION_TIMED_OUT と ERR_TIMED_OUT の違い
Chrome には見た目の似たタイムアウトエラーが2つあり、それぞれ失敗する段階が異なります:
ERR_CONNECTION_TIMED_OUT(-118): サーバーが最初の SYN に応答しなかったため、接続が一度も確立されなかった状態です。ネットワーク経路、ファイアウォール、DNS、サーバーがオンラインかどうかを確認します。
ERR_TIMED_OUT(-7): より一般的なタイムアウトです。Chrome 自身の制限時間が尽きたときに報告されます。たとえば TCP 接続は開いたものの HTTPS ハンドシェイクが30秒間止まった場合や、開いている接続に応答が返らなくなった場合です。通常は、遅いサーバーや固まったサーバー、あるいは処理が止まったプロキシを示しています。
以下の解決策はどちらにも当てはまります。ERR_TIMED_OUT はウェブサイト側の問題であることが多く、ERR_CONNECTION_TIMED_OUT はネットワーク経路やファイアウォールの問題であることが多い傾向があります。
Advertisement
ERR_CONNECTION_TIMED_OUT の原因
| 原因 | 発生場所 | 典型的な手がかり |
|---|---|---|
| サーバーがオフラインまたは過負荷 | ウェブサイト | 全員が、どのネットワークでも失敗する |
| ファイアウォールが通信を黙って破棄している | ウェブサイト、あなたのネットワーク、または PC | ping は通るのにポート 443 は通らないことがある |
| 古い DNS:サイトが移転したのに古い IP を保持している | DNS キャッシュまたはリゾルバー | モバイルデータ通信では表示されるのに自宅では失敗する |
| hosts ファイルのエントリが誤った IP を指している | あなたの PC | このコンピューターだけが失敗する |
| 壊れたプロキシや VPN | あなたの PC またはネットワーク | すべてのサイトがタイムアウトする、または VPN オン時だけ失敗する |
| ネットワークがサイトやそのポートをブロックしている | ISP、学校、職場、ホテルの Wi-Fi | 特定のネットワークでだけ失敗する |
| 標準外のポートへの送信がブロックされている | あなたのネットワーク | :8080 や :8443 のサイトは失敗し、通常のサイトは表示される |
解決策1:サイトが全員にとってダウンしているか確認する
サーバーがダウンしていれば、あなたの側で何をしても効果はありません。まずこれを確認しましょう:
スマートフォンでモバイルデータ通信を使ってサイトを開く(Wi-Fi はオフ)。表示されるなら、問題はあなたのデバイスかネットワークにあります。
DNS Robot の [Ping テスト](/ping) を実行する。 応答があればサーバーのマシンはオンラインです。応答がない場合はダウンしているか、ping をブロックしている(多くのサーバーがそうしています)可能性があるため、証拠ではなくヒントとして扱ってください。
[ポートチェッカー](/port-checker) でウェブ用のポートをテストする。 ポート 443(HTTPS)と 80(HTTP)を確認します。当社のサーバーからは「Open」なのにあなたのブラウザではタイムアウトする場合、あなたの経路上の何かが通信を破棄しています。こちらからも「Filtered」なら、サーバーのファイアウォールかサーバー自体に問題があります。
[トレースルート](/traceroute) を実行して、パケットがどこまで届くかを確認します。最後の数ホップで途切れる場合は、サイトのホスティングネットワークがパケットを破棄しています。
Advertisement
解決策2:DNS キャッシュ(と Chrome のキャッシュ)をフラッシュする
サイトが新しいサーバーへ移転しても、あなたのコンピューターはキャッシュの有効期限が切れるまで古い IP アドレスを使い続けることがあります。古いサーバーが停止しているかファイアウォールで遮断されていれば、すべての試行がタイムアウトします。オペレーティングシステムのキャッシュと、Chrome 独自のホストキャッシュの両方をフラッシュしてください:
# Windows(コマンド プロンプト)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux(systemd-resolved)
resolvectl flush-caches
# Chrome:chrome://net-internals/#dns を開いて "Clear host cache" をクリックキャッシュが原因だったかを確かめるには、コンピューターが解決する IP(nslookup example.com)と、DNS Robot の DNS Lookup の結果を比べます。両者が異なれば、リゾルバーが古いレコードを返しています。すべてのブラウザと OS の手順は DNS フラッシュのガイド で解説しています。
解決策3:hosts ファイルを確認する
hosts ファイルは、記載された名前について DNS を上書きします。開発者、広告ブロッカー、一部のマルウェアがエントリを追加することがあり、ドメインを古い IP やプライベート IP に割り当てる行が残っていると、そのコンピューターでだけ毎回タイムアウトします。
Windows: メモ帳を管理者として開き、
C:\Windows\System32\drivers\etc\hostsを開きます。macOS / Linux: ターミナルで
sudo nano /etc/hostsを実行します。
失敗するドメインを含む行を探します。その行を削除するか、先頭に # を付けて無効化して保存し、もう一度 DNS をフラッシュしてください。
Advertisement
解決策4:テストとしてプロキシ・VPN・ファイアウォールをオフにする
すべてのサイトがタイムアウトする場合、よくある原因は動作しなくなったプロキシや VPN です。すべての通信が行き止まりへ送られているからです。
Windows 11 のプロキシ: 設定 → ネットワークとインターネット → プロキシ → 「手動プロキシ セットアップ」で プロキシ サーバーを使う をオフにします。
macOS のプロキシ: システム設定 → ネットワーク → 使用中の接続 → 詳細… → プロキシ → すべてオフにします。
VPN: 完全に切断して再読み込みします。VPN なしでサイトが表示されるなら、VPN サーバーを変更するか、プロバイダーに問い合わせてください。
ファイアウォール / ウイルス対策: サードパーティ製のファイアウォールを短時間だけ一時停止して再読み込みします。それで直った場合は、ファイアウォールをオフのままにせず、ブラウザを例外に追加してください。
解決策5:パブリック DNS リゾルバーに切り替える
ISP のリゾルバーの中には、更新が遅いものや、ブロック対象のドメインを決して応答しないアドレスに向けるものがあります。Cloudflare(1.1.1.1)、Google(8.8.8.8)、Quad9(9.9.9.9)などのパブリックリゾルバーに切り替えれば、その可能性を排除できます。DNS スピードテスト で、あなたの場所からどれが最速かを確認できます。
DNS サーバー自体が故障している場合は別のエラーが表示されることがあり、DNS サーバーが応答しない場合の対処法 と DNS サーバーが利用できない場合の対処法 で解説しています。
Advertisement
解決策6:ネットワークスタックをリセットしてルーターを再起動する
ルーターとモデムを再起動します。電源を抜いて30秒待ち、再接続まで2〜3分待ってください。Windows では、管理者権限のコマンド プロンプトから TCP/IP スタックもリセットします:
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
:: リセットを完了するために PC を再起動するMac では Wi-Fi をオフにしてからオンにするか、システム設定 → ネットワークでネットワークを削除して追加し直します。また、Chrome のエラーページにあるリンクから Windows ネットワーク診断 を実行し、Windows にアダプターを修復させることもできます。
解決策7:自分のコンピューターからポートをテストする
ブラウザを介さずに、あなたのマシンがそもそもサイトへの接続を開けるかどうかを数秒で確認できます:
# Windows PowerShell
Test-NetConnection example.com -Port 443
# TcpTestSucceeded : False -> あなたのネットワークからは何も応答がない
# macOS / Linux
nc -vz -w 5 example.com 443
# "timed out" -> 破棄された、"Connection refused" -> サーバーが拒否したコンピューターからのテストは失敗するのに、DNS Robot の ポートチェッカー ではポートが open と表示される場合、あなたのネットワーク上の何かがブロックしています。ルーター、職場のファイアウォール、ISP、ホテルや学校の Wi-Fi フィルターなどです。別のネットワークで試すか、ネットワーク管理者に問い合わせてください。
Android と iPhone で ERR_CONNECTION_TIMED_OUT を解決する
ネットワークを切り替える: Wi-Fi の代わりにモバイルデータ通信を、またはその逆を試します。公衆 Wi-Fi のキャプティブポータルは、ログインページで同意するまでタイムアウトします。
Android のプライベート DNS: 設定 → ネットワークとインターネット → プライベート DNS → 自動。到達できないカスタムホスト名を指定していると、すべての名前解決が失敗します。詳しくは プライベート DNS ガイド をご覧ください。
VPN アプリや広告ブロックアプリをオフにする。 多くはローカル VPN として動作しています。
ネットワーク設定をリセットする: iPhone では、設定 → 一般 → 転送または iPhone をリセット → リセット → ネットワーク設定をリセット。Android では、設定 → システム → リセット オプション → Bluetooth と Wi-Fi をリセット(モバイルデータ通信も失敗する場合は モバイル ネットワーク設定をリセット も実行)。
ウェブサイト管理者向け:訪問者がタイムアウトする理由
サイトが全員に対してタイムアウトする場合、パケットはウェブサーバーに届く前に破棄されています。次の順に確認してください:
何かが待ち受けていますか? サーバー上で
sudo ss -tlnp | grep -E ':(80|443) 'を実行すると、nginx、Apache、またはアプリが表示されるはずです。何も表示されなければサービスを起動してください。なお、サービスが停止しているだけなら、ファイアウォールが先にパケットを破棄しない限り、通常はタイムアウトではなく接続拒否(refused)になります。ファイアウォールは 80 と 443 を許可していますか? Ubuntu では
sudo ufw status verbose、RHEL 系ではsudo firewall-cmd --list-allを実行します。既定の DROP ポリシーこそが、タイムアウトを生む原因です。クラウドのファイアウォールは別物です。 AWS のセキュリティグループ、Google Cloud のファイアウォールルール、Azure の NSG、多くの VPS 事業者の管理パネル上のファイアウォールは、既定でインバウンド通信を拒否します。
0.0.0.0/0(IPv6 では::/0も)からの TCP 80 と 443 を許可してください。DNS はこのサーバーを指していますか? 移行後は DNS Lookup で A レコードと AAAA レコードを確認します。サーバーが実際には応答しないアドレスを AAAA レコードが指していると、IPv6 ネットワークの訪問者で読み込みが遅くなったりタイムアウトしたりします。
サーバーが過負荷になっていませんか? 高負荷時に接続のバックログが満杯になると、新しい接続の試行は破棄されてタイムアウトします。発生中に CPU、メモリ、接続数を確認してください。
# Ubuntu:ufw でウェブ通信を許可する
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status verbose
# 外部(別のマシン)から確認する:
nc -vz -w 5 yourdomain.com 443タイムアウト・拒否・リセットの見分け方
| エラー | コード | ネットワークで起きたこと | 最も可能性の高い原因 |
|---|---|---|---|
| ERR_CONNECTION_TIMED_OUT | -118 | 無応答:接続要求に返事がない | パケットを破棄するファイアウォール、サーバーのオフライン、誤った IP |
| ERR_CONNECTION_REFUSED | -102 | 接続要求が即座に拒否された | 何も待ち受けていない、または拒否(reject)設定のファイアウォール |
| ERR_CONNECTION_RESET | -101 | 接続が開いた後、リセットで切断された | VPN、ウイルス対策、フィルタリング、サーバーのクラッシュ |
| ERR_NAME_NOT_RESOLVED | -105 | DNS がドメインをまったく見つけられなかった | 入力ミス、期限切れのドメイン、DNS の障害 |
通信を破棄(drop)するよう設定されたファイアウォールはタイムアウトを、拒否(reject)するよう設定されたファイアウォールは接続拒否を生みます。詳しいガイド:ERR_CONNECTION_REFUSED、ERR_CONNECTION_RESET、ERR_NAME_NOT_RESOLVED。
ダウンしているのは全員にとって?それともあなただけ?
DNS Robot から任意のサーバーに ping を送ってオンラインかどうかを確認し、続けてポートチェッカーでポート 443 をチェックしましょう。この2つを組み合わせれば、タイムアウトの原因がサイトにあるのか、あなたのネットワークにあるのかが数秒でわかります。
試す Ping テストAdvertisement
よくある質問
ブラウザがウェブサイトのサーバーに接続要求を送ったものの、応答が一度も返ってこなかったため、待つのを諦めたという意味です。Chromium ではネットエラー -118 にあたります。パケットはどこかで破棄されています。サーバーがオフラインか、ファイアウォールが破棄しているか、あなたのデバイスが誤った IP や古い IP アドレスに送っているかのいずれかです。