ローカルWindowsからWSL2への疎通
以前 port:22 を疎通させる記事 を書いたのとだいたい同じ。
ローカル Windows ブラウザからローカル WSL2 の Web (HTTP:80 及び HTTPS:443) に任意のホスト名で疎通できるようにする。
例題は local.example.com とする。
hosts
Windows の hosts ファイルでホスト名を 127.0.0.1 に向けておく。
127.0.0.1 local.example.com
WSL2 側の IP を取得
ifconfig コマンドで WSL2 側の IP を取得しておく。
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.11.100.123 netmask 255.255.240.0 broadcast 172.12.234.255
inet 172.11.100.123
この部分が WSL2 側の IP 172.11.100.123
になる。
Windows 側で portfoward する
Windows管理者権限でWindowsシェルを起動
portforward の設定には Windows管理者権限でWindowsシェルを起動する必要がある。
Windowsキー + X
を押して、続けて A
キーを押してシェルを起動。
portforward の状態確認
$ netsh interface portproxy show all
portforward する
ポート番号とWSL2 の IP を指定して netsh.exe
を叩く。
$ netsh.exe interface portproxy add v4tov4 listenport=80 connectaddress=172.11.100.123
$ netsh.exe interface portproxy add v4tov4 listenport=443 connectaddress=172.11.100.123
以下のように portforward できていればOK
$ netsh interface portproxy show all
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
* 443 172.11.100.123 443
* 80 172.11.100.123 80
ブラウザから確認
WSL2 で Web サーバを起動しておいて、ブラウザにホスト名 (local.example.com) を入れてアクセスしてリクエストがくれば OK