WSL2のUbuntu 18.04(増殖したやつ)にExpressを入れ、自宅内なのでオレオレ証明書httpsでアクセスできるところまで来た。
shigeo-t.hatenablog.com
shigeo-t.hatenablog.com
shigeo-t.hatenablog.com
スマホからアクセスできない
ところが、WSLの時はWindows 10と同じIPアドレスだったのに、WSL2では別のIPアドレスが振られることになっていたのだった。172.31.250.18が振られている。
同一PC上ならhttps://172.31.250.18:3000でアクセスできている。
でも、iPhoneなどのスマホ/タブレットからはアクセスできない。
ポートフォワードする
Windows 10でもポートフォワードすることができる。ちょうどいいエントリを見つけた。
qiita.com
例ではsshの22番ポートだが、今回はexpressの3000ポートである。
コマンドは下記の通り。
netsh.exe interface portproxy add v4tov4 listenport=3000 connectaddress=172.31.250.18
sc.exe config iphlpsvc start=auto
sc.exe start iphlpsvc
netsh.exe interface portproxy show v4tov4
実行してみる。参照元エントリに書いてあるようにWindows Terminalを管理者モードで起動し上記を貼付け。
実行結果は下記の通り。
PS C:\Users\shigeo-t>
PS C:\Users\shigeo-t> netsh.exe interface portproxy add v4tov4 listenport=3000 connectaddress=172.31.250.18
PS C:\Users\shigeo-t>
PS C:\Users\shigeo-t>
PS C:\Users\shigeo-t> sc.exe config iphlpsvc start=auto
[SC] ChangeServiceConfig SUCCESS
PS C:\Users\shigeo-t> sc.exe start iphlpsvc
[SC] StartService FAILED 1056:
サービス インスタンスは既に実行されています。
PS C:\Users\shigeo-t>
PS C:\Users\shigeo-t>
PS C:\Users\shigeo-t> netsh.exe interface portproxy show v4tov4
ipv4 をリッスンする: ipv4 に接続する:
Address Port Address Port
--------------- ---------- --------------- ----------
* 3000 172.31.250.18 3000
無事に3000ポートでフォワードされる設定ができた。
接続確認
iPhoneのSafariで接続確認。まずはポートフォワードする前。PCのアドレスは192.168.28.17である。
ポートフォワード設定後。オレオレ証明書なので警告が出る。でも、この時点で勝ったも同然。
[詳細を表示]をタップする。
[このWebサイトを閲覧]をタップする。
しつこいけど、今どきオレオレ証明書なので仕方ない。[Webサイトを閲覧]をタップする。
無事接続できた。
TORQUE G04でも確認してみる。
アプリも動作した。問題無さそう。