ローカル環境で開発をしようとブラウザで「localhost」にアクセスしたら、「このサイトにアクセスできません」「localhost で接続が拒否されました」と表示されて、作業が進まずに焦っていませんか。
localhostにつながらない原因はいくつかありますが、ほとんどは順番に確認していけば自分で解決できるものです。
この記事では、プログラミングやWeb制作の初心者の方に向けて、localhostにつながらないときの原因と解決方法を、確認しやすい順番でやさしく解説します。
上から順に試していけば、つながらない原因を切り分けられるように構成しているので、落ち着いて一つずつ確認していきましょう。
教えてちょださい
まず最初に試したいこと
細かい原因を調べる前に、まずは簡単に試せることから確認しましょう。
意外とこれだけで解決することも少なくありません。
ローカル環境(サーバー)が起動しているか
もっとも多い原因が、そもそもローカルサーバーが起動していないというケースです。
XAMPPやMAMP、Localといったツールを使っている場合は、それらが起動していて、サーバーが「動作中」になっているかを確認しましょう。
npm run devし忘れとかもあるよ
ブラウザを更新・シークレットウィンドウで開く
ブラウザのキャッシュが原因で、古い状態が表示されていることがあります。
ページを再読み込みしたり、シークレットウィンドウ(プライベートモード)で開いたりして、表示が変わるか確認してみてください。
少し時間を置く・PCを再起動する
サーバーの起動直後でまだ準備が整っていなかったり、一時的な不具合だったりすることもあります。
少し時間を置いてから試す、PCを再起動してから試すといった対応で直る場合もあるので、行き詰まったら一度試してみる価値があります。
原因1|Webサーバーが起動していない
localhostは、自分のPCの中で動いているWebサーバーにアクセスするための名前です。
そのため、アクセス先となるサーバーが起動していなければ、当然つながりません。
XAMPPやMAMPであればApacheなどのサーバーが起動しているか、開発用のコマンド(npm run devなど)で立ち上げるタイプなら、そのコマンドがエラーなく実行され、サーバーが起動状態になっているかを確認しましょう。
サーバーの起動時にエラーメッセージが出ている場合は、その内容に原因のヒントが書かれていることが多いので、よく読んでみてください。
原因2|ポート番号が違う・指定し忘れている
サーバーは起動しているのにつながらない場合、ポート番号の指定ミスがよくある原因です。
ポート番号とは、同じPCの中で動く複数のサービスを区別するための番号で、URLでは「localhost:8080」のようにコロンの後ろに付けて指定します。
サーバーが3000番ポートで動いているのに「localhost」だけでアクセスしていると、つながらないことがあります。
サーバーを起動したときに表示される案内(「http://localhost:3000」など)を確認し、正しいポート番号を付けてアクセスしているかをチェックしましょう。
原因3|ポートが競合している
使おうとしているポート番号を、すでに別のソフトが使っている「ポートの競合(バッティング)」も、よくあるトラブルです。
たとえばXAMPPのApacheが使う80番ポートを、ほかのアプリ(別のWebサーバーやビデオ通話ソフトなど)が先に使っていると、サーバーが起動できなかったり、つながらなかったりします。
この場合の対処は2つあります。
- ポートを使っている別のソフトを終了する
- サーバー側の設定で、使うポート番号を別の空いている番号に変更する
ポートを変更した場合は、アクセスするURLのポート番号も合わせて変える必要がある点に注意してください。
原因4|localhostでは開けないが127.0.0.1なら開ける
「localhost」でつながらないとき、URLを「127.0.0.1」に置き換えると開けることがあります。
たとえば「localhost:3000」の代わりに「127.0.0.1:3000」と入力して試してみてください。
localhostも127.0.0.1も、基本的には「自分自身のPC」を指す同じものですが、localhostという名前を実際のアドレスに変換する処理(名前解決)の段階で問題が起きていると、localhostだけつながらないことがあります。
127.0.0.1で開けるなら、この名前解決まわりが原因だと切り分けられます。
その場合は、原因6で紹介するhostsファイルの設定が関係していることが多いです。
原因5|ファイアウォール・セキュリティソフトが遮断している
ファイアウォールやセキュリティソフトが、ローカルへの通信をブロックしているケースもあります。
特に、会社のPCなどでセキュリティ設定が厳しい場合や、プロキシ(通信を中継する仕組み)が設定されている環境では、localhostへの接続が遮断されてしまうことがあります。
一時的にセキュリティソフトの設定を見直して状況が変わるか確認する方法がありますが、セキュリティ機能を無効にする際は十分に注意し、確認後は必ず元に戻すようにしてください。
会社など管理された環境の場合は、自分で設定を変更せず、管理者に相談するのが安全です。
原因6|hostsファイルの設定が原因になっている
hostsファイルとは、ドメイン名(localhostなど)と、それに対応するIPアドレスの関係を、PC内部で設定しているファイルです。
通常、このファイルではlocalhostが127.0.0.1に対応するように設定されています。
ところが、このhostsファイルが何らかの理由で書き換えられていたり、必要な記述が消えていたりすると、localhostが正しく変換されず、つながらなくなることがあります。
先ほどの「127.0.0.1なら開ける」状態だった場合は、このhostsファイルの記述を確認してみるとよいでしょう。
ただし、hostsファイルはシステムに関わる重要なファイルのため、編集する際は内容をよく理解したうえで、慎重に行うようにしてください。
環境別のチェックポイント
使っているローカル開発環境によって、つまずきやすいポイントは少しずつ異なります。
XAMPP・MAMPの場合
ApacheなどのWebサーバーが起動しているかをまず確認しましょう。
起動できない場合は、前述のポート競合が原因になっていることが多いので、ポート番号の確認・変更を試してみてください。
WordPressのローカル環境の場合
LocalなどのツールでWordPressをローカルに構築している場合は、対象のサイトが「起動中」になっているか、指定されたURL・ポートでアクセスしているかを確認しましょう。
WordPressのローカル開発環境の作り方やツールの選び方については、別の記事でくわしく解説しています。
あわせて読みたい方は、関連記事も参考にしてみてください。

Dockerの場合
Dockerを使っている場合は、コンテナが正しく起動しているか、そしてコンテナ側のポートと自分のPC側のポートの対応(ポートのマッピング)が正しく設定されているかを確認しましょう。
このマッピングがずれていると、サーバー自体は動いていてもlocalhostからアクセスできないことがあります。
まとめ
localhostにつながらないときは、いきなり難しい設定を疑うのではなく、まずは「サーバーが起動しているか」「ポート番号は正しいか」といった基本から順に確認するのが解決の近道です。
それでも直らない場合は、127.0.0.1で開けるか試して原因を切り分け、ポートの競合、ファイアウォール、hostsファイルといった原因を一つずつチェックしていきましょう。
つながらないときは焦ってしまいがちですが、原因は意外とシンプルなことが多いものです。
この記事を上から順にたどって、落ち着いて切り分けていけば、きっと解決の糸口が見つかるはずです。
- localhostと127.0.0.1の違いは何ですか?
-
どちらも基本的には「自分自身のPC」を指します。127.0.0.1がIPアドレスそのもので、localhostはそれに対応づけられた名前です。localhostという名前を実際のアドレスに変換する処理に問題があると、localhostだけつながらず127.0.0.1なら開ける、という状態になることがあります。
- サーバーは起動しているのにつながりません。
-
ポート番号の指定ミスや、ポートの競合が原因のことが多いです。サーバー起動時に表示されるURL(ポート番号付き)を確認し、正しいポートでアクセスしているかをチェックしてみてください。
- 「接続が拒否されました」と表示されます。
-
アクセス先でサーバーが動いていない、またはポート番号が違う場合によく表示されます。まずサーバーが起動しているかを確認し、次に正しいポート番号を指定しているかをチェックするのが基本の流れです。
- 再起動しても直らないときはどうすればいいですか?
-
127.0.0.1で開けるか試して原因を切り分けたうえで、ポートの競合、ファイアウォールやセキュリティソフトによる遮断、hostsファイルの設定などを一つずつ確認していきましょう。サーバー起動時のエラーメッセージにもヒントが含まれていることが多いです。
- 会社のPCでlocalhostにつながりません。
-
会社のPCでは、セキュリティソフトやプロキシの設定により通信が遮断されていることがあります。こうした環境では自分で設定を変更せず、社内のシステム管理者に相談するのが安全です。
あざした