「このサイトにアクセスできません」「ERR_CONNECTION_REFUSED」というエラーメッセージが突然表示されて困っていませんか?
このエラーは、Webサイトを見ようとした時にブラウザがサーバーに接続できない状態を示しています。難しそうに見えますが、実はほとんどのケースで自分で解決できます。
この記事では、ERR_CONNECTION_REFUSEDエラーの意味から、原因の特定方法、具体的な解決手順まで、初心者にもわかりやすく解説します。
- ERR_CONNECTION_REFUSEDとは?
- エラーの主な原因
- 一般的なWebサイトでの解決方法
- localhost(開発環境)での解決方法
- トラブルシューティングのフローチャート
- よくある質問
- Q1. ERR_CONNECTION_REFUSEDは自分のせい?それともWebサイトのせい?
- Q2. ERR_CONNECTION_REFUSEDとERR_CONNECTION_TIMED_OUTの違いは?
- Q3. このエラーが出るとウイルスに感染している可能性はある?
- Q4. スマホでもERR_CONNECTION_REFUSEDは出る?
- Q5. 会社のPCでだけこのエラーが出る。自宅では見られる。
- Q6. 特定のサイトだけERR_CONNECTION_REFUSEDが出る。
- Q7. 昨日まで見られたのに今日突然ERR_CONNECTION_REFUSEDが出た。
- Q8. localhost:8080にアクセスできないが、localhost:3000は見られる。
- まとめ
ERR_CONNECTION_REFUSEDとは?
エラーの意味
ERR_CONNECTION_REFUSEDは、ブラウザがWebサイトのサーバーに接続しようとしたが、接続が拒否されたことを示すエラーメッセージです。
簡単に言えば、「お店に行ったら閉まっていた」「ドアをノックしたけど開けてもらえなかった」という状態です。あなたのブラウザは正しく動いているのに、何らかの理由でWebサイト側(または途中の経路)が接続を受け付けてくれない状況です。
ブラウザ別の表示
同じエラーでも、ブラウザによって表示のされ方が異なります。
Google Chromeの場合
このサイトにアクセスできません
[サイトURL] で接続が拒否されました。
次をお試しください:
接続を確認する
プロキシとファイアウォールを確認する
ERR_CONNECTION_REFUSED
Mozilla Firefoxの場合
接続できません
Firefox は [サイトURL] のサーバーとの接続を確立できませんでした。
Microsoft Edgeの場合
Hmmm... このページにアクセスできません
[サイトURL] の応答時間が長すぎます。
見た目は違いますが、どれも同じ「接続が拒否された」という問題を示しています。
他のエラーとの違い
ERR_CONNECTION_REFUSEDと混同しやすいエラーがいくつかあります。
ERR_CONNECTION_TIMED_OUT(タイムアウト)
- 接続しようとしたが、時間がかかりすぎて諦めた状態
- サーバーが応答しない、または非常に遅い
ERR_CONNECTION_RESET(接続リセット)
- 接続は一度成立したが、途中で切断された状態
- データ送信中に問題が発生
DNS_PROBE_FINISHED_NXDOMAIN(DNS解決失敗)
- 入力したドメイン名が存在しない
- URLのスペルミスが原因のことが多い
404 Not Found(ページが見つからない)
- サーバーには接続できたが、指定したページがない
- ERR_CONNECTION_REFUSEDはサーバーに接続すらできていない
技術的な背景
ERR_CONNECTION_REFUSEDは、ネットワーク接続レベルで発生するエラーです。
通常のWebサイト閲覧の流れ:
- ブラウザがURLを入力される
- DNS(Domain Name System)でIPアドレスを取得
- サーバーの特定のポート(通常80または443)に接続を試みる
- サーバーが接続を受け入れる
- データのやり取りが始まる
ERR_CONNECTION_REFUSEDは、このステップ3または4で失敗している状態です。サーバーまでは到達しているものの、そこで接続が拒否されています。
HTTPステータスコード(404や500など)が表示されないのは、HTTP通信が始まる前の段階でエラーが起きているためです。
エラーの主な原因
ERR_CONNECTION_REFUSEDが発生する原因は、大きく分けて「クライアント側(自分のPC・スマホ)」と「サーバー側(Webサイト側)」の2つに分類できます。
クライアント側の原因(自分で解決できる)
1. インターネット接続の問題
- Wi-Fiやモバイルデータが切れている
- ルーターの不具合
- 接続が不安定
2. ブラウザの問題
- 古いキャッシュやCookieが原因
- ブラウザが古いバージョン
- 拡張機能が接続をブロック
3. VPNやプロキシの問題
- VPNが接続を妨害
- プロキシ設定が間違っている
- プロキシサーバーがダウン
4. ファイアウォール・セキュリティソフト
- ファイアウォールが接続をブロック
- ウイルス対策ソフトが過剰に反応
- 特定のポートが閉じられている
5. DNS設定の問題
- DNSキャッシュが古い
- DNSサーバーが応答しない
- 誤ったDNS設定
6. システム設定の問題
- Windowsやmacの設定ミス
- hostsファイルの誤り
- ネットワークアダプターの不具合
サーバー側の原因(待つしかない)
1. Webサイトのダウン
- サーバーがメンテナンス中
- サーバーがクラッシュ
- 過負荷でサーバーがダウン
2. サーバーソフトウェアの問題
- Webサーバー(Apache、Nginxなど)が停止
- 設定ミスで起動していない
- ポート番号の変更
3. ファイアウォールの設定
- サーバー側のファイアウォールが接続を拒否
- 特定のIPアドレスをブロック
- DDos攻撃対策で一時的にブロック
4. ドメインやDNSの問題
- DNSレコードの設定ミス
- ドメインの有効期限切れ
- DNSの伝播待ち
開発環境(localhost)での原因
プログラミングやWeb開発をしている人は、localhost(自分のPC上のサーバー)でこのエラーに遭遇することがあります。
1. Webサーバーが起動していない
- XAMPP、MAMP、WAMPなどが起動していない
- Apacheやnpmサーバーが停止している
2. ポート番号の間違い
- 間違ったポート番号でアクセスしている
- 別のアプリケーションがポートを使用中
3. ファイアウォールがlocalhostをブロック
- Windows Defenderが接続を拒否
- セキュリティソフトが開発サーバーをブロック
4. hostsファイルの設定ミス
- localhostのIPアドレス設定が間違っている
- IPv4とIPv6の設定が競合
5. 設定ファイルのエラー
- httpd.conf(Apache設定ファイル)の記述ミス
- ポート番号の設定が間違っている
一般的なWebサイトでの解決方法
ここからは、普通にWebサイトを見ようとしてERR_CONNECTION_REFUSEDが出た場合の解決方法を、効果が高い順に紹介します。
【最優先】Webサイトの状態を確認
まず、問題がWebサイト側にあるのか、自分のPC側にあるのかを判断しましょう。
確認方法1:他のデバイスで試す
スマートフォンやタブレットなど、別のデバイスで同じWebサイトにアクセスしてみます。
- 別のデバイスでも同じエラー → Webサイト側の問題
- 別のデバイスでは見られる → 自分のPC側の問題
確認方法2:オンラインツールを使う
Webサイトがダウンしているか確認できる無料ツールを使います。
おすすめツール:
- Down For Everyone Or Just Me(https://downforeveryoneorjustme.com/)
- Website Planet(https://www.websiteplanet.com/webtools/down-or-not/)
- Site24x7(https://www.site24x7.com/tools.html)
使い方:
- ツールのサイトにアクセス
- 確認したいWebサイトのURLを入力
- チェックボタンをクリック
結果:
- 「It’s just you(あなただけ)」→ 自分のPC側の問題
- 「It’s not just you(みんな見られない)」→ Webサイト側の問題
Webサイト側の問題だった場合
残念ながら、この場合は待つしかありません。運営者が問題を解決するまで、時間をおいて再度アクセスしてみましょう。
方法1:インターネット接続を確認・再起動
手順1:接続状態を確認
Windows:
- タスクバー右下のWi-Fiまたはネットワークアイコンをクリック
- 接続されているか確認
- 「×」マークや「!」マークがあれば接続に問題あり
Mac:
- 画面右上のWi-Fiアイコンをクリック
- 接続状態を確認
- グレーアウトしていれば接続されていない
スマートフォン:
- 設定 → Wi-Fiまたはモバイルデータを開く
- 接続状態を確認
手順2:ネットワーク機器を再起動
以下の順番で再起動します。
- モデムの再起動
- 電源ケーブルを抜く
- 30秒待つ
- 電源ケーブルを差し込む
- ランプが安定するまで2〜3分待つ
- ルーターの再起動
- 電源ケーブルを抜く
- 30秒待つ
- 電源ケーブルを差し込む
- ランプが安定するまで2〜3分待つ
- PCやスマホの再起動
- 通常の再起動を実行
- すべてのランプが正常になってから試す
手順3:他のWebサイトでも試す
Google、Yahoo、Twitterなど、確実に動いているはずの大手サイトにアクセスしてみます。
- 他のサイトも見られない → インターネット接続の問題
- 他のサイトは見られる → 特定のサイトの問題
方法2:ブラウザのキャッシュとCookieを削除
古いキャッシュやCookieが原因で接続が拒否されることがあります。
Google Chromeの場合
- Chromeを開く
- ショートカットキーを押す
- Windows:Ctrl + Shift + Delete
- Mac:Command + Shift + Delete
- 「閲覧履歴データの削除」ウィンドウが開く
- 期間を選択
- 「全期間」を選ぶのが確実
- 削除する項目にチェック
- ✓ Cookie と他のサイトデータ
- ✓ キャッシュされた画像とファイル
- 閲覧履歴は任意(削除してもOK)
- 「データを削除」をクリック
- Chromeを完全に閉じて再起動
- 問題のサイトに再度アクセス
Mozilla Firefoxの場合
- Firefoxを開く
- ショートカットキーを押す
- Windows:Ctrl + Shift + Delete
- Mac:Command + Shift + Delete
- 「最近の履歴を消去」ウィンドウが開く
- 期間:「すべての履歴」を選択
- 消去する項目にチェック
- ✓ Cookie
- ✓ キャッシュ
- 「今すぐ消去」をクリック
Microsoft Edgeの場合
- Edgeを開く
- ショートカットキーを押す
- Windows:Ctrl + Shift + Delete
- Mac:Command + Shift + Delete
- 「閲覧データをクリア」が開く
- 時間の範囲:「すべての期間」を選択
- 削除する項目にチェック
- ✓ Cookie およびその他のサイト データ
- ✓ キャッシュされた画像とファイル
- 「今すぐクリア」をクリック
方法3:VPNを一時的に無効化
VPN(Virtual Private Network)を使っている場合、それが接続を妨害している可能性があります。
VPNを無効にする方法
Windows VPN設定の場合:
- 設定 → ネットワークとインターネット → VPN
- 接続中のVPNをクリック
- 「切断」をクリック
Mac VPN設定の場合:
- システム環境設定 → ネットワーク
- 左側のリストからVPNを選択
- 「切断」をクリック
VPNアプリ(NordVPN、ExpressVPNなど)の場合:
- VPNアプリを開く
- 「切断」または「Disconnect」ボタンをクリック
- アプリを完全に終了
確認方法
- VPNを無効化
- 問題のWebサイトにアクセス
- 見られるようになった → VPNが原因
見られるようになった場合の対処
- VPNの接続先サーバーを変更する
- VPNのプロトコルを変更する(OpenVPN、IKEv2など)
- そのサイトを見る時だけVPNをオフにする
- VPNサービスのサポートに問い合わせる
方法4:プロキシ設定を無効化
プロキシサーバーを使っている場合、それが問題を起こしている可能性があります。
Windowsの場合
- 設定を開く(Windows + I)
- ネットワークとインターネット → プロキシ を開く
- 「自動プロキシ セットアップ」セクション
- 「設定を自動的に検出する」をオフ
- 「セットアップ スクリプトを使う」をオフ
- 「手動プロキシ セットアップ」セクション
- 「プロキシ サーバーを使う」をオフ
- ブラウザを再起動して確認
Macの場合
- システム環境設定 → ネットワーク を開く
- 使用中のネットワーク(Wi-Fiなど)を選択
- 「詳細」をクリック
- 「プロキシ」タブを開く
- すべてのプロキシのチェックを外す
- Webプロキシ(HTTP)
- 保護されたWebプロキシ(HTTPS)
- SOCKSプロキシ
- など
- 「OK」→「適用」をクリック
ブラウザ内の設定(Chrome)
- Chrome設定を開く(chrome://settings/)
- 検索ボックスに「プロキシ」と入力
- 「パソコンのプロキシ設定を開く」をクリック
- 上記のWindows/Mac手順に従う
方法5:ブラウザ拡張機能を無効化
広告ブロッカーやセキュリティ拡張機能が、正常な接続をブロックしている可能性があります。
Chromeで拡張機能を無効化
- アドレスバーに
chrome://extensions/と入力してEnter - すべての拡張機能のトグルをオフにする
- 特に以下の拡張機能を優先的にオフ:
- 広告ブロッカー(AdBlock、uBlock Originなど)
- VPN拡張機能
- プロキシ拡張機能
- セキュリティ拡張機能
- ブラウザを再起動
- 問題のサイトにアクセス
- 見られるようになった場合:
- 拡張機能を1つずつオンに戻す
- どれが原因か特定
- その拡張機能を削除するか、設定を見直す
別の方法:シークレットモードで確認
拡張機能を無効にせずに確認する方法:
- シークレットモード(プライベートブラウジング)を開く
- Chrome:Ctrl + Shift + N(Windows)/ Command + Shift + N(Mac)
- Firefox:Ctrl + Shift + P(Windows)/ Command + Shift + P(Mac)
- Edge:Ctrl + Shift + N(Windows)/ Command + Shift + N(Mac)
- 問題のサイトにアクセス
- 見られる → 拡張機能が原因
- 見られない → 別の原因
方法6:DNSキャッシュをクリア
DNSキャッシュが古くなっていると、正しいIPアドレスに接続できないことがあります。
Windowsの場合
- コマンドプロンプトを管理者として開く
- スタートボタンを右クリック
- 「ターミナル(管理者)」または「コマンドプロンプト(管理者)」を選択
- 以下のコマンドを入力してEnter
ipconfig /flushdns
- 「DNS リゾルバー キャッシュは正常にフラッシュされました。」と表示されればOK
- ブラウザを再起動して確認
Macの場合
- ターミナルを開く
- アプリケーション → ユーティリティ → ターミナル
- macOSのバージョンに応じたコマンドを入力 macOS Big Sur(11)以降:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
macOS Catalina(10.15)以前:
sudo killall -HUP mDNSResponder
- Macのパスワードを入力(画面には表示されない)
- Enterを押す
- ブラウザを再起動して確認
Chromeブラウザ内のDNSキャッシュもクリア
- アドレスバーに
chrome://net-internals/#dnsと入力してEnter - 「Clear host cache」ボタンをクリック
- アドレスバーに
chrome://net-internals/#socketsと入力してEnter - 「Flush socket pools」ボタンをクリック
- ブラウザを再起動
方法7:ファイアウォールとウイルス対策ソフトを一時的に無効化
セキュリティソフトが過剰に反応して、正常な接続をブロックしている可能性があります。
重要な注意事項
- この方法は一時的な確認のみに使用
- 信頼できるWebサイトでのみ試す
- 確認後は必ずファイアウォールを再度有効化
- 無効化中はインターネットを使わない
Windows Defenderファイアウォールを一時的にオフ
- 設定 → プライバシーとセキュリティ → Windows セキュリティ を開く
- 「ファイアウォールとネットワーク保護」をクリック
- 使用中のネットワーク(プライベート、パブリック、ドメイン)をクリック
- 「Microsoft Defender ファイアウォール」をオフ
- 問題のサイトにアクセス
- 確認後、必ずファイアウォールをオンに戻す
Macのファイアウォールを一時的にオフ
- システム環境設定 → セキュリティとプライバシー を開く
- 「ファイアウォール」タブを選択
- 左下の鍵アイコンをクリックしてロック解除
- 「ファイアウォールをオフにする」をクリック
- 問題のサイトにアクセス
- 確認後、必ずファイアウォールをオンに戻す
ウイルス対策ソフト(Norton、McAfee、AVASTなど)
各ソフトによって手順が異なりますが、一般的な流れ:
- タスクトレイ(Windows)またはメニューバー(Mac)のアイコンを右クリック
- 「無効化」「一時停止」「シールドを無効化」などを選択
- 無効化する時間を選択(15分、1時間など)
- 問題のサイトにアクセス
- 時間が来たら自動的に有効化されるが、念のため確認
見られるようになった場合の対処
ファイアウォールやウイルス対策ソフトが原因だった場合:
- そのソフトの設定を開く
- 「例外」「許可リスト」「ホワイトリスト」などを探す
- 問題のWebサイトのURLまたはドメインを追加
- ファイアウォールを再度有効化
方法8:Chromeをアップデート
古いバージョンのChromeは、最新のWebサイトと正しく通信できないことがあります。
Chromeのバージョン確認とアップデート
- Chromeを開く
- 右上の三点メニュー(⋮)をクリック
- ヘルプ → Google Chrome について を選択
- 自動的にアップデートが確認される
- アップデートがある場合:
- 自動的にダウンロードされる
- 「再起動」ボタンが表示される
- ボタンをクリックして再起動
- 最新版の場合:
- 「Google Chrome は最新版です」と表示される
方法9:別のブラウザで試す
問題がブラウザ固有のものかを確認します。
試すブラウザ
- Google Chrome ユーザー → Firefox、Edge、Safariで試す
- Firefox ユーザー → Chrome、Edge、Safariで試す
- Edge ユーザー → Chrome、Firefox、Safariで試す
別のブラウザで見られた場合
元のブラウザに問題があります。以下を試してください:
- ブラウザを最新版にアップデート
- ブラウザの設定をリセット
- ブラウザを再インストール
Chromeの設定をリセット
- chrome://settings/ を開く
- 左メニューから「設定のリセット」を選択
- 「設定を元の既定値に戻す」をクリック
- 「設定のリセット」をクリック
方法10:PCを再起動
意外と見落とされがちですが、単純な再起動で解決することも多いです。
正しい再起動の手順
- すべてのアプリケーションを閉じる
- Windowsの場合:
- スタートメニュー → 電源 → 再起動
- Macの場合:
- Appleメニュー → 再起動
- 重要:「スリープ」や「シャットダウン」ではなく「再起動」を選ぶ
- 再起動することで、ネットワーク設定などが初期化される
- 起動後、問題のサイトにアクセス
方法11:DNSサーバーを変更
使用しているDNSサーバーに問題がある場合、別のDNSに切り替えることで解決できます。
おすすめの公開DNSサーバー
| DNS名 | プライマリDNS | セカンダリDNS |
|---|---|---|
| Google Public DNS | 8.8.8.8 | 8.8.4.4 |
| Cloudflare DNS | 1.1.1.1 | 1.0.0.1 |
| OpenDNS | 208.67.222.222 | 208.67.220.220 |
Windowsでの設定方法
- 設定 → ネットワークとインターネット を開く
- 使用中の接続タイプ(Wi-Fiまたはイーサネット)をクリック
- 使用中のネットワークをクリック
- 「IP設定」の下にある「編集」をクリック
- 「自動(DHCP)」から「手動」に変更
- IPv4をオンにする
- 以下を入力(Google Public DNSの例):
- 優先DNSサーバー:8.8.8.8
- 代替DNSサーバー:8.8.4.4
- 「保存」をクリック
- ブラウザを再起動して確認
Macでの設定方法
- システム環境設定 → ネットワーク を開く
- 使用中のネットワーク(Wi-Fiなど)を選択
- 「詳細」をクリック
- 「DNS」タブを開く
- 左下の「+」ボタンをクリック
- DNSサーバーのアドレスを入力(例:8.8.8.8)
- もう一度「+」をクリックして2つ目を追加(例:8.8.4.4)
- 元からあるDNSサーバーは削除してもOK(−ボタン)
- 「OK」→「適用」をクリック
方法12:時間をおいて再度試す
すべての方法を試しても解決しない場合、サーバー側の一時的な問題の可能性があります。
推奨する待ち時間
- 15分〜30分後にもう一度試す
- 数時間後に試す
- 翌日に試す
待っている間にできること
- Webサイトの公式SNS(Twitter、Facebookなど)でお知らせを確認
- 「ダウン検出ツール」で定期的にチェック
- 同じサービスの別のページにアクセスしてみる
localhost(開発環境)での解決方法
プログラミングやWeb開発をしている人向けに、localhost環境でのERR_CONNECTION_REFUSED解決方法を紹介します。
localhostでの主な原因
1. Webサーバーが起動していない
最も多い原因です。XAMPP、MAMP、WAMPなどのサーバーソフトが起動していない、またはApache/Nginxが停止しています。
2. ポート番号の間違い
デフォルトではポート80または443ですが、開発環境では8080、3000、5000などが使われます。間違ったポート番号でアクセスしている可能性があります。
3. 別のアプリケーションがポートを使用中
Skype、IIS、その他のアプリケーションが同じポート番号を使っている場合、競合が発生します。
4. ファイアウォールがlocalhostをブロック
Windows DefenderやMacのファイアウォールが、開発サーバーへの接続をブロックしていることがあります。
5. hostsファイルの設定ミス
localhostのIPアドレス設定が間違っているか、IPv4とIPv6の競合があります。
解決方法1:Webサーバーの起動確認
XAMPPの場合(Windows/Mac)
- XAMPPコントロールパネルを開く
- Windows:スタートメニューから「XAMPP Control Panel」
- Mac:アプリケーション → XAMPP → manager-osx
- Apacheの状態を確認
- 緑色で「Running」→ 起動中
- 赤色または空白 → 停止中
- 停止中の場合、「Start」ボタンをクリック
- 「Running」になったら、ブラウザで確認
- http://localhost/
- または http://localhost:80/
MAMPの場合(Mac)
- MAMPを起動
- 「Start Servers」ボタンをクリック
- Apacheランプが緑色になるのを確認
- 「Open WebStart page」をクリックして確認
WAMPの場合(Windows)
- タスクトレイのWAMPアイコンを確認
- 緑色:すべて正常
- オレンジ色:一部のサービスが停止
- 赤色:すべて停止
- アイコンを左クリック
- 「Start All Services」をクリック
- アイコンが緑色になったら確認
Node.js/npm開発サーバーの場合
- ターミナルまたはコマンドプロンプトを開く
- プロジェクトディレクトリに移動
cd /path/to/your/project
- サーバーを起動
- npm使用:
npm start - yarnまたは:
yarn start - React:
npm startまたはyarn start - Vue:
npm run serve - など
- 起動メッセージを確認
Server running at http://localhost:3000/
- 表示されたURLにアクセス
解決方法2:正しいポート番号を使う
よく使われるポート番号
| 用途 | デフォルトポート |
|---|---|
| HTTP(通常のWebサイト) | 80 |
| HTTPS(暗号化されたWebサイト) | 443 |
| XAMPP/MAMP/WAMP(Apache) | 80 または 8080 |
| Node.js/React開発サーバー | 3000 |
| Angular開発サーバー | 4200 |
| Vue.js開発サーバー | 8080 |
| Python Flask | 5000 |
| Python Django | 8000 |
| PHP内蔵サーバー | 8000 |
ポート番号を確認する方法
サーバー起動時のメッセージを確認:
Server running at http://localhost:3000/
Listening on port 8080
正しいアクセス方法
ポート番号が80以外の場合、URLにポート番号を含める必要があります。
例:
- ポート3000の場合:
http://localhost:3000/ - ポート8080の場合:
http://localhost:8080/ - ポート5000の場合:
http://localhost:5000/
ポート番号を忘れた場合
Windowsで確認:
netstat -ano | findstr :ポート番号
Macで確認:
lsof -i :ポート番号
例:ポート3000を使っているプロセスを確認
lsof -i :3000
解決方法3:ポートの競合を解決
ポート使用状況を確認
Windows:
- コマンドプロンプトを管理者として開く
- 以下を入力:
netstat -ano | findstr :80
- ポート80を使っているプロセスIDが表示される
Mac/Linux:
- ターミナルを開く
- 以下を入力:
sudo lsof -i :80
- ポート80を使っているプロセスが表示される
競合しているプロセスを停止
Windows:
- タスクマネージャーを開く(Ctrl + Shift + Esc)
- 「詳細」タブを開く
- PID(プロセスID)でソート
- 競合しているプロセスを探す
- 右クリック → 「タスクの終了」
Mac:
- アクティビティモニタを開く
- 競合しているプロセスを探す
- 選択して「プロセスを終了」
別のポート番号に変更
XAMPP(Apache)の場合:
- XAMPPコントロールパネルでApacheを停止
- 「Config」→「httpd.conf」を開く
- 以下の行を探す:
Listen 80
- ポート番号を変更(例:8080):
Listen 8080
- 同様に以下も変更:
ServerName localhost:80
を
ServerName localhost:8080
に変更
- ファイルを保存
- Apacheを再起動
http://localhost:8080/でアクセス
解決方法4:localhostの代わりに127.0.0.1を使う
localhostは「127.0.0.1」というIPアドレスを指していますが、時々この解決がうまくいかないことがあります。
試す方法
localhost:ポート番号 の代わりに 127.0.0.1:ポート番号 でアクセス
例:
http://localhost:3000/→http://127.0.0.1:3000/http://localhost:8080/→http://127.0.0.1:8080/
これで見られた場合
hostsファイルの設定を確認します。
Windowsの場合:
- メモ帳を管理者として開く
- ファイル → 開く
C:\Windows\System32\drivers\etc\hostsを開く- 以下の行があるか確認:
127.0.0.1 localhost
- なければ追加して保存
Macの場合:
- ターミナルを開く
- 以下を入力:
sudo nano /etc/hosts
- パスワードを入力
- 以下の行があるか確認:
127.0.0.1 localhost
- なければ追加
- Ctrl + O で保存、Ctrl + X で終了
解決方法5:IPv6の競合を解決
一部の環境では、IPv6(::1)とIPv4(127.0.0.1)の設定が競合します。
hostsファイルを確認
Windows:C:\Windows\System32\drivers\etc\hosts
Mac/Linux:/etc/hosts
問題のある設定例
127.0.0.1 localhost
::1 localhost
両方あると、ブラウザがどちらを使うか混乱することがあります。
解決方法
以下のいずれかを試す:
方法A:IPv6の行をコメントアウト
127.0.0.1 localhost
# ::1 localhost
方法B:IPv6の行を削除
127.0.0.1 localhost
方法C:両方残して別々に設定
127.0.0.1 localhost
::1 ip6-localhost ip6-loopback
解決方法6:ファイアウォールでポートを許可
Windows Defenderファイアウォール
- コントロールパネル → システムとセキュリティ → Windows Defender ファイアウォール
- 左メニューから「詳細設定」をクリック
- 左側の「受信の規則」をクリック
- 右側の「新しい規則」をクリック
- 「ポート」を選択 → 次へ
- 「TCP」を選択
- 「特定のローカルポート」を選択してポート番号を入力(例:3000、8080)
- 次へ → 「接続を許可する」を選択
- 次へ → すべてにチェック(ドメイン、プライベート、パブリック)
- 次へ → 名前を入力(例:「Node.js Development Server」)
- 完了
Macのファイアウォール
- システム環境設定 → セキュリティとプライバシー
- ファイアウォールタブ
- 鍵アイコンをクリックして変更を許可
- 「ファイアウォールオプション」をクリック
- 使用しているアプリケーション(Node.js、Pythonなど)を追加
- 「受信接続を許可」を選択
- OK → 適用
トラブルシューティングのフローチャート
どの方法から試せばいいか迷った時のフローチャートです。
ERR_CONNECTION_REFUSEDが表示された
↓
【STEP 1】localhostでのエラー?
YES → 「localhost解決方法」セクションへ
NO → STEP 2へ
↓
【STEP 2】他のデバイスでも同じエラーが出る?
YES → サーバー側の問題。待つしかない
NO → STEP 3へ
↓
【STEP 3】他のWebサイトは見られる?
NO → インターネット接続の問題
→ ルーター再起動
YES → STEP 4へ
↓
【STEP 4】VPNやプロキシを使っている?
YES → VPN/プロキシを無効化して確認
NO → STEP 5へ
↓
【STEP 5】まず試す基本対処(順番に)
1. PCとルーターを再起動
2. ブラウザのキャッシュとCookieを削除
3. DNSキャッシュをクリア
↓
改善しない?
↓
【STEP 6】詳細対処(該当するものを試す)
- ブラウザ拡張機能を無効化
- ファイアウォールを一時的にオフ
- DNSサーバーを変更(8.8.8.8など)
- 別のブラウザで試す
- Chromeを最新版にアップデート
よくある質問
Q1. ERR_CONNECTION_REFUSEDは自分のせい?それともWebサイトのせい?
A. どちらの可能性もあります。
判断方法:
- 他のデバイスやネットワークで同じサイトにアクセス
- オンラインツール(Down For Everyone Or Just Me)でチェック
結果:
- 他でも見られない → Webサイト側の問題
- 他では見られる → 自分のPC・ネットワークの問題
統計的には、約70%はクライアント側(自分のPC)の問題で、ほとんどのケースで自分で解決できます。
Q2. ERR_CONNECTION_REFUSEDとERR_CONNECTION_TIMED_OUTの違いは?
A. どちらも接続できないエラーですが、原因が異なります。
ERR_CONNECTION_REFUSED(接続拒否)
- サーバーまでは到達している
- サーバーが「入れません」と明確に拒否
- ファイアウォールやポート設定の問題が多い
- 比較的早く(数秒以内に)エラーが出る
ERR_CONNECTION_TIMED_OUT(タイムアウト)
- サーバーに到達できていない、または応答がない
- 待ったけど返事が来なかった状態
- ネットワークの問題、サーバーダウンが多い
- エラーが出るまで時間がかかる(20〜30秒程度)
Q3. このエラーが出るとウイルスに感染している可能性はある?
A. 基本的にウイルス感染とは関係ありません。
ERR_CONNECTION_REFUSEDは単なるネットワーク接続エラーで、ウイルス感染を示すものではありません。
ただし、以下のケースでは注意が必要です:
注意が必要な場合:
- 今まで見られたサイトが突然すべて見られなくなった
- 特定のセキュリティソフトやウイルス対策サイトだけ見られない
- DNSハイジャック(意図しないサイトにリダイレクトされる)が起きている
- システム設定が勝手に変更されている
このような症状がある場合は、マルウェアの可能性があるため、ウイルススキャンを実行してください。
Q4. スマホでもERR_CONNECTION_REFUSEDは出る?
A. はい、スマホでも出ます。
スマホ(iPhoneやAndroid)のブラウザでも、同様のエラーが発生します。
スマホでの表示例:
- Chrome(Android):「このサイトにアクセスできません」
- Safari(iPhone):「サーバーが見つかりません」
- Edge(Android):「このページにアクセスできません」
スマホでの主な原因:
- モバイルデータまたはWi-Fi接続の問題
- VPNアプリの影響
- ブラウザアプリのキャッシュ
- キャリアの通信制限
スマホでの基本対処法:
- 機内モードをオン→オフ
- Wi-Fiを切断→再接続
- スマホを再起動
- ブラウザアプリのキャッシュをクリア
- VPNアプリを無効化
Q5. 会社のPCでだけこのエラーが出る。自宅では見られる。
A. 会社のネットワークセキュリティが原因です。
多くの企業では、セキュリティのために特定のサイトへのアクセスを制限しています。
よくある制限:
- 動画サイト(YouTube、Netflix)
- SNS(Facebook、Twitter、Instagram)
- ファイル共有サイト
- ゲームサイト
- 外部クラウドストレージ
- 個人的なWebメール
確認方法:
- 会社の情報システム部門に問い合わせる
- 業務上必要なら、アクセス許可を申請
注意:
- 会社の規定を無視して勝手に制限を回避しようとしない
- VPNなどで回避するとセキュリティポリシー違反になる可能性
- 業務に支障がある場合は正式に申請する
Q6. 特定のサイトだけERR_CONNECTION_REFUSEDが出る。
A. そのサイト固有の問題か、ブラウザとの相性問題の可能性があります。
確認すべきこと:
- サイトがメンテナンス中
- サイトの公式Twitter/Facebookでお知らせを確認
- ダウン検出ツールでチェック
- ブラウザとの相性
- 別のブラウザ(Chrome、Firefox、Edge)で試す
- 見られた場合は、元のブラウザのキャッシュクリアや設定リセット
- 地域制限
- 海外のサイトで、日本からのアクセスをブロックしている
- VPNを使えば見られることもある(ただし利用規約を確認)
- ISP(プロバイダ)による制限
- ごく稀に、プロバイダがサイトをブロックしている
- 別のネットワーク(モバイルデータなど)で確認
- ブラウザ拡張機能の干渉
- 広告ブロッカーやスクリプトブロッカーを無効化
- シークレットモードで確認
Q7. 昨日まで見られたのに今日突然ERR_CONNECTION_REFUSEDが出た。
A. 何かが変わったはずです。以下を確認してください。
よくある原因:
- Windowsアップデート
- ファイアウォール設定が変更された
- ネットワーク設定がリセットされた
- 対処:PCを再起動、ファイアウォール確認
- セキュリティソフトの更新
- 新しい定義ファイルで誤検知
- 対処:一時的に無効化して確認、除外リストに追加
- ブラウザの自動更新
- 新バージョンでバグ発生
- 拡張機能との互換性問題
- 対処:キャッシュクリア、拡張機能無効化
- ルーターの再起動
- IP設定やDNS設定が変わった
- 対処:ルーターを再起動、DNS設定確認
- VPNやプロキシの設定変更
- 自動更新で設定が変わった
- 対処:VPN/プロキシ設定を確認
段階的な対処:
- まずPC(スマホ)を再起動
- ルーターを再起動
- ブラウザのキャッシュをクリア
- 昨日と今日で変わったことを思い出す
- それでも解決しないなら、詳細対処法を1つずつ試す
Q8. localhost:8080にアクセスできないが、localhost:3000は見られる。
A. ポート8080で動いているWebサーバーが起動していません。
確認方法:
- 使おうとしているWebサーバーが起動しているか確認
- XAMPP/MAMP/WAMPの場合:コントロールパネルで確認
- Node.jsの場合:ターミナルでサーバーを起動
- 別のアプリの場合:そのアプリを起動
- ポート8080が使用中か確認
Windows:
netstat -ano | findstr :8080
Mac:
lsof -i :8080
- 設定ファイルでポート番号を確認
- 実は8080ではなく別のポートで動いている可能性
- 起動メッセージで実際のポート番号を確認
解決方法:
- 必要なWebサーバーを起動する
- 正しいポート番号でアクセスする
- ポートの競合を解決する
まとめ
ERR_CONNECTION_REFUSEDエラーについて、重要なポイントをまとめます。
エラーの本質
- ブラウザがサーバーに接続できない状態
- サーバーまでは到達しているが、接続が拒否されている
- HTTPリクエストが始まる前の段階でのエラー
問題の所在を特定
まず確認すべきこと:
- 他のデバイスでも同じエラーが出る?
- YES → サーバー側の問題(待つしかない)
- NO → クライアント側の問題(自分で解決可能)
- 他のWebサイトは見られる?
- NO → インターネット接続の問題
- YES → 特定サイトまたはブラウザの問題
解決方法の優先順位
最初に試すべき3つ(5分でできる):
- PCとルーターを再起動
- ブラウザのキャッシュとCookieを削除
- VPN/プロキシを無効化
それでもダメなら順に試す:
- DNSキャッシュをクリア
- ブラウザ拡張機能を無効化
- ファイアウォールを一時的にオフにして確認
- DNSサーバーを変更(8.8.8.8など)
- 別のブラウザで試す
- Chromeを最新版にアップデート
開発環境(localhost)の場合:
- Webサーバーが起動しているか確認
- 正しいポート番号を使っているか確認
- localhostの代わりに127.0.0.1を試す
- ポートの競合を解決
- ファイアウォールでポートを許可
予防策
日常的に気をつけること:
- ブラウザを最新版に保つ
- 定期的にキャッシュをクリア(月1回程度)
- セキュリティソフトの設定を見直す
- ルーターのファームウェアを更新
- 信頼できないVPN/プロキシを使わない
最後に
ERR_CONNECTION_REFUSEDは、一見複雑に見えるエラーですが、ほとんどのケースで以下のいずれかで解決します:
- 単純な再起動(PC、ルーター、ブラウザ)
- キャッシュの削除
- VPN/プロキシの無効化
- ファイアウォール設定の確認
焦らず、この記事で紹介した方法を順番に試していけば、必ず解決できます。それでも解決しない場合は、サーバー側の一時的な問題の可能性が高いので、時間をおいて再度アクセスしてみましょう。
開発環境でこのエラーに遭遇した場合も、Webサーバーの起動確認とポート番号の確認だけで大半は解決します。
この記事があなたのERR_CONNECTION_REFUSED問題解決の助けになれば幸いです!


コメント