「localhost で接続が拒否されました。」
Webシステム開発中にこんな文言のエラー画面が表示し、困っていませんか?
この記事では、ブラウザ画面でlocalhost接続エラーが発生する主な原因と、対処法について画像付きで解説しています。
手順通りに実行すれば、対象のエラーを解消することができますので、ぜひ最後までお読みください。
「localhostで接続が拒否されました。」の意味
「localhostで接続が拒否されました。」とは、ブラウザで「localhost」が入ったURL(「https://localhost:8080/.../.../….com」等)を指定してWebページにアクセスしたが、接続が出来ない問題です。
接続が拒絶された場合もあれば、接続先のサーバーが起動していなかったという場合もり、原因が1つだけとは限りません。
そのため、なぜ現象が発生したのか、どう解決するのかを把握したうえで対処していきましょう。
ローカルホスト(localhost)とは
localhostとは、URLの接続先として、自分自身のPCを指定する際のアドレスのことです。
ブラウザから、自分のPC上に構築したWebサーバーへアクセスする際などに使用します。
ローカルホスト(localhost)に接続できないとは?
ブラウザから、自分のPCへ構築したWebサーバーへアクセスしようとし
たが、アクセス不可となっている状態のことです。
ほとんどの場合、PCにインストールしたソフトやセキュリティの設定が原因にあります。
err_connection_refused
「err_connection_refused」メッセージが出るのは、Webページへの接続が失敗して表示されないときです。
「localhost」接続以外にも、通常のWebサイトへアクセスしようとした際にも表示されることがあります。
Webサイト側に原因があることもあれば、自身のPCが原因であることもあるため、どこに原因があるのかを調べつつ対処する必要があります。
「localhostで接続が拒否されました。」の原因
現象が発生する主な原因としては、以下が考えられます。
- Webサーバーが起動していない
- 正しいポート番号が指定されていない
- ファイアウォールで接続拒否されている
- セキュリティソフトで接続が拒否されている
Webサーバーが起動していない
「localhost」にブラウザからアクセスしようとしたが、そもそもアクセス先のWebサーバーが起動していない場合があります。
接続を試みたけど、ページを返す機能が動いていないので、何のページも返ってこずにエラー表示になっております。
正しいポート番号が指定されていない
「localhost」へ接続しようとしている際、ポート番号を指定する場合もあります。(※ localhost:8080 など)
ポートとは、ネットワークや機器間で接続するための「接続口」のことであり、Webサーバーを構築した際も、接続用のポート番号を設定します。
このWebサーバーのポート番号と、アクセス時のポート番号が一致していない場合、接続ですることはできません。
ファイアウォールで接続拒否されている
ファイアーウォールで指定ポート番号の接続を拒否している場合、接続出来ません。
ポートの設定は、PCのファイアウォールでも接続可否を設定することができ、特定のネットワークポートだけ許可したり、セキュリティ強化のために拒否したりすることができます。
セキュリティソフトで接続が拒否されている
セキュリティソフトの設定によって、接続が拒否されている場合があります。
localhost接続を拒否している場合や、特定のポート番号での接続を拒否している場合もあるので、設定の確認をする必要があります。
「localhostで接続が拒否されました。」の対処法
それぞれの原因ごとに、対処方を説明します。
Webサーバーが起動していない場合の対処法
PCにインストールしたWebサーバーが起動しているか確認します。
以下の手順で確認可能です。(windows10の場合)
- 「windows」+「R」を押す
- [ファイル名をnter指定して実行]の入力欄に「SERVICES.MSC」を入力し、「OK」を押す
- [サービス]画面が起動するので、対象のWebサーバーを起動する
①「windows」+「R」を押す
②[ファイル名をnter指定して実行]の入力欄に「SERVICES.MSC」を入力し、「OK」を押す
③[サービス]画面が起動するので、対象のWebサーバーを起動する
※画像の例は「tomcat」「Apache http server」を起動する例です。
正しいポート番号が指定されていない場合の対処法
ブラウザでURL入力時にWebサーバーのインストール時に設定したポート番号を指定します。
ポート番号の確認方法は以下です。(※tomcat8.5の場合)
- server.xmlファイルを開く
- 「connector port=”XXXX”」の記述を探し、XXXXの数値確認
①server.xmlファイルを開く
C:\Program Files\Apache Software Foundation\Tomcat 8.5\conf
②「connector port=”XXXX”」の記述を探し、XXXXの数値確認
※注意点:「<--」「-->」の間に記述されている設定は、反映されないようになっているので無視して下さい。
ファイアウォールで接続拒否されている場合の対処法
ファイアウォールの設定で、ポートを解放して接続します。
ポート開放の設定方法は以下です。
- コントロールパネルを開く
- 表示方法=「小さいアイコン」に変更し、「windows Defender ファイアウォール」を押す
- 左メニューの「詳細設定」を押す
- 左メニューの「受信の規則」を押し、画面右の操作「新しい規則」を押す
- 「ポート」を選択
- 「特定のローカルポート」入力欄へWebサーバーのポート番号入力
- 「接続を許可する」を選択
- 「ドメイン」「プライベート」「パブリック」全てチェック
- 名前、説明は任意
①コントロールパネルを開く
②表示方法=「小さいアイコン」に変更し、「windows Defender ファイアウォール」を押す
③左メニューの「詳細設定」を押す
④左メニューの「受信の規則」を押し、画面右の操作「新しい規則」を押す
⑤「ポート」を選択
⑥「特定のローカルポート」入力欄へWebサーバーのポート番号入力
⑦「接続を許可する」を選択
⑧「ドメイン」「プライベート」「パブリック」全てチェック
⑨名前、説明は任意
セキュリティソフトで接続が拒否されている場合
セキュリティソフトが原因の場合は、一度停止するか、個別でポートやWebサーバーの接続設定が可能かどうか確認します。
インストールされているソフトによって設定方法が異なったり、設定できなかったりするので、一時的に停止して確認するのがおすすめです。
しかし、インターネットに繋がった状態でのセキュリティソフトの停止は危険なので、インターネット接続を一度オフにしてからの確認をしましょう。
まとめ
Webシステムの開発時によく発生する「localhostで接続が拒否されました。」エラーの主な原因としては、以下となります。
- Webサーバーが起動していない
- 正しいポート番号が指定されていない
- ファイアウォールで接続拒否されている
- セキュリティソフトで接続が拒否されている
OSやWebサーバーの種類によって起動方法等は異なるため、自身のPCスペックを確認した上での設定が必要です。
しかし、該当エラーの発生原因については上記パターンであることが多く、対処方法についてもすぐに検討を付けられる可能性はあるので、ぜひ参考にしてください。