SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

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が応答するようになる。

関連するメモ

コメント