web-dev-qa-db-ja.com

同じネットワーク上で実行されているコンピューターからlocalhostにアクセスできない

同じネットワーク上の2台のコンピューターで作業しています。 コンピューターAには、localhost:4444で動作するアプリがあります。しかし、Computer Bのブラウザからはアクセスできません。

これが私の状況です:

  • IPに対してpingを実行したところ、応答が得られました。
  • ブラウザからアクセスしてみました: http://192.168.X.X:4444
  • 現在、同じネットワークを介して両方のコンピューター間でファイルを正常に共有しています。

誰かが私がこの仕事をするのを手伝ってくれませんか?

3
gespinha

コマンドプロンプトウィンドウを開き、次のコマンドを実行して、WebアプリケーションがすべてのIPアドレスでリッスンしているかどうかを確認します。

netstat -a -o

次のような出力が表示されます。

アクティブな接続
 
プロトローカルアドレス外部アドレスステートPID 
 TCP 0.0.0.0:135 JHUEBEL-VM:0 LISTENING 944 
 TCP 192.168.0.173:5040 JHUEBEL-VM:0 LISTENING 5096 

上記の出力をいくつかの例にトリミングしました。

最初の行のIPアドレスが「0.0.0.0」であることに注意してください。これは、ポート135( ":135")を使用するサービスがすべてのIPアドレスでリッスンしていることを示しています。これには、localhost(127.0.0.1)とLAN IPアドレス(192.168.0.173)が含まれます。

しかし、2行目を見ると、ポート5040を使用するサービスは、LAN IPアドレス(192.168.0.173)のみをリッスンしています。そのため、localhostを介してそのサービスにアクセスすることはできません。

したがって、探しているのは次のような行で始まる行です。

 TCP 127.0.0.1:4444

"127.0.0.1"(または実際には "127."で始まる任意のIPアドレス)が表示される場合、アクセスしようとしているWebアプリケーションはlocalhostのみをリッスンしており、LAN上のコンピューターからアクセスできません。

それで、これをどのように修正しますか?それは本当にアプリケーションに依存します。おそらく設定ファイルを編集する必要があります。あなたが使用しているアプリケーションを知らなければ、私は本当にそこで助けることはできません。 OPをアプリケーションに関する詳細情報で更新してください。私はさらに支援するように努めます。

5
Jason Huebel

私はこれが古い質問であることを知っていますが、@ PimpJuiceITの回答は非常に似た状況でうまくいきました。

  1. 管理者特権のコマンドプロンプトを開きます(ウィンドウを押し、「cmd」と入力し、「コマンドプロンプト」を右クリックして、管理者として実行します)。

  2. 次のコードを入力しますが、「4444」をアクセスする必要があるポートに置き換えます

  3. netsh advfirewall firewall add rule name="TCP Port 4444" dir=in localport=4444 protocol=TCP action=allow

  4. enterキーを押すと、確認のテキストが表示されます。

  5. テストして、ネットワーク経由でアプリにアクセスできることを確認します。

5
5Diraptor