WSL2で起動したサーバーに外部の端末からアクセスする

ぶっちゃけググれば、もっと詳細に説明してくれている記事がいくらでもみつかるのだけれど、一応自分用のメモとして書いておく。

概要

wsl2の中でサーバーを立ち上げて開発していると、外部の端末(例えば実機スマホなど)から動作確認のためにアクセスしたいときがある。そのための手順メモ。

作業手順

1.ホストOS(windows)のipアドレスを確認

同時に「イーサネット アダプター vEthernet (WSL):」がちゃんと設定されているかも同時に確認する。

2.wsl2(ubuntu)のipアドレス確認


3.wsl側でサーバー起動

ここでは、httpサーバーをport:3000で起動したものとする。

4.ホストOSからwslのipアドレスを用いてアクセスできるか確認

確認作業はホストOSのブラウザで行う

http://<wslのipアドレス>:3000 にアクセス

これでアクセスできなかったらwsl内かWSLのイーサネットアダプター周りで問題が起きてる。

5.ホストOSのipアドレスでwslのサーバーにアクセスできるようにポートフォワーディングの設定を行う

以下、コマンド実行はコマンドプロンプトかpowershellで。どちらも管理者権限で実行する必要がある。


6.ホストOSのipアドレスを用いてwslのサーバーにアクセスできるか確認

確認作業はホストOSのブラウザで行う

http://<ホストOSのipアドレス>:3000 にアクセス

これでアクセスできない場合は、ポートフォワーディングがうまくいっていない。

7.外部の端末からホストOSのipアドレスを用いてwslのサーバーにアクセスできるか確認

同一ネットワークに所属する外部端末を使ってアクセスできるか確認する。

http://<ホストOSのipアドレス>:3000 にアクセス

ここでアクセスできない場合はファイヤーウォールにブロックされてる可能性が高いのでWindowsのファイヤーウォール設定から、「詳細設定」に進み「受信の規制」に新しい規則を作ってport:3000を開ける。

アクセスはプライベートネットワークのみに限定し、不要なときは「規則の無効化」を行う

“WSL2で起動したサーバーに外部の端末からアクセスする” への1件の返信

現在コメントは受け付けていません。