WSL2で起動したサーバーに外部からアクセスする
問題
WSL2で実行しているWebサーバーなどに社内の別のPCからアクセスするにはどうするとよいでしょうか。
どうも応答がないのですが。
答え
WSL2ではwsl側に個別のIPアドレスが振られる。
外からwslのIPアドレスでは到達しないし、ホストのIPでアクセスしてもwslまでは到達しない。
↓
Windowsのほうで、ポートフォワーディングの設定をする。
1.ホスト(Windows)のIPアドレスを調べる。
例)192.168.123.123
2.wslのIPアドレスを調べる
例)172.23.45.67
3.ポートフォワーディングの設定をする。
ポート番号は、httpsなら443とか、指定のポート番号でhttpdを起動していたらそのポート番号など。
netsh.exe interface portproxy add v4tov4 listenaddress=<ホストのIPアドレス>listenport=3000 connectaddress=<wslのIPアドレス> connectport=<ポート番号>
設定の確認
netsh.exe interface portproxy show v4tov4
設定の削除
netsh.exe interface portproxy delete v4tov4 listenport=<ポート番号> listenaddress=<ホストのIPアドレス>
4.ファイアウォールの設定を確認
ファイアウォールで接続が許可されていないときは、許可の設定を追加する。
Windowsのファイヤーウォールとネットワーク保護 > 詳細設定 → セキュリティが強化されたWindows Defender ファイアウォール > 受信の規制 → 新しい規則 で必要なポートを開ける。
以上で、 http://192.168.123.123:5432/ などでwslが応答するようになる。
コメント