
編集: 以前もこの状況に陥ったことがありますが、そのときはApache関連でした。しかし今回はノードJSしたがって、古い答えは役に立ちません。
私はWindows 7 で NodeJS Web サーバー (ポート 80) のApacheを実行しています。ローカルで PC と Wi-Fi ルーターを共有しているモバイルから Web サーバーにアクセスしたいと考えています。
http://localhost
PCから動作します。
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
サーバーをリッスンするときにホスト名を指定しました。
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 です)