質問: Node.jsで作成したローカルPC上のWebサーバに同一ローカルネットワーク上のAndroid端末からアクセスしようとしています。 ポート番号は「3000」を利用しており、PC上のブラウザから `http://PCのIPアドレス:3000` にアクセスすると正常にページが表示されますが、Android端末からアクセスするとうまくいきません。 以下の設定を実施しました。 * PCのIPアドレスを固定 * ルーターのポート開放設定(今回、ポート番号は「3000」を使用) * PCのファイアウォール設定にて、3000番ポートの通信許可設定を追加 なお、PCのファイアウォール自体を無効化するとAndroid端末から正常にアクセスできます。 ファイアウォールの特定ポートの許可設定はいろいろなサイトを見て確認しましたが、間違ってはいなさそうです。 上記のほかに、何か必要な設定があるのでしょうか。ご存じの方はご教授願います。 --- (2020/4/27追記) 1. netstatコマンドで3000番ポートが「node.exe」で使用され、かつ「LISTENING」状態であることを確認しました。 2. ファイアウォールの特定ポートの許可設定内容を追記します。 (以下「セキュリティが強化されたWindows Defenderファイアウォール」>「受信の規則」で今回追加した特定ポートの許可設定の「プロパティ」表示内容) ※[リモートコンピューター][スコープ][ローカルプリンシパル][リモートユーザー]は設定なし ![全般タブ](https://i.stack.imgur.com/kDGYn.png) ![プログラム及びサービスタブ](https://i.stack.imgur.com/IRov6.png) ![プロトコル及びポートタブ](https://i.stack.imgur.com/NlTva.png) ![詳細設定タブ](https://i.stack.imgur.com/wYcWf.png)
回答: すみません、自己解決しました。 今回自分で追加した受信の規則とは別に、Nodejsのアプリケーションに対する通信をブロックする定義が存在していたことが原因でした。 !参考画像 おそらく、Node.jsインストール時にWindowsファイアウォールの警告ポップアップで誤って「ブロックする」を選択してしまったのではないかと思います。