同じ共有 Wi-Fi 経由でモバイルから node.js ローカル サーバーにアクセスする

同じ共有 Wi-Fi 経由でモバイルから node.js ローカル サーバーにアクセスする

編集: 以前もこの状況に陥ったことがありますが、そのときはApache関連でした。しかし今回はノードJSしたがって、古い答えは役に立ちません。


私はWindows 7 で NodeJS Web サーバー (ポート 80) のApacheを実行しています。ローカルで PC と Wi-Fi ルーターを共有しているモバイルから Web サーバーにアクセスしたいと考えています。

http://localhostPCから動作します。

http://192.168.1.4しかし、携帯電話からもコンピューターからもアクセスできません。

ipconfig /all私のコンピュータにはIPアドレスが192.168.1.4として表示されています

Wireless LAN adapter Wireless Network Connection:
    IPv4 Address. . . . . . . . . . . : 192.168.1.4(Preferred)

PCから携帯電話の(内部)IPアドレス[192.168.1.5]にpingを実行でき、逆に携帯電話からPCの[192.168.1.4]にpingを実行できます。

http://192.168.1.4では、なぜ携帯電話(またはPC)からアクセスできないのでしょうか?


ファイアウォールはオフになっています。

答え1

https://stackoverflow.com/questions/7980995/accessesing-internal-web-server-running-node-js/7983852#7983852

サーバーをリッスンするときにホスト名を指定しました。

server.listen(80、process.env.OPENSHIFT_NODEJS_IP || process.env.IP || '127.0.0.1') を実行します。

答え2

追加が必要

Listen 192.168.1.4:80

Apacheのhttpd.conf内

答え3

このコードで問題は解決しました(私の場合はlocalhostにローカルIP:192.168.1.7を追加しました)

var app = express();
app.listen(3000,'192.168.1.7' || 'localhost',function() {
    console.log('Application worker ' + process.pid + ' started...');
  }
  );

サーバーにアクセスできるのはhttp://ローカルホスト:3000またはhttp://192.168.1.7:3000(私のローカル IP は 192.168.1.7 です)

関連情報