見出し画像

WSL2で建てたWebアプリにLAN内のスマホからアクセスする方法

追記:ちょっと使ってたらIP Helperが暴走してCPUが100%に張り付いたからこの設定多分良くないわ
追記2:再起動したらとりあえず普通に動作してる。また同じ問題が起こるなら対策を考える。

作ったWebアプリをスマホから使おうと思ったらちょっと手こずったので備忘録。

0.0.0.0:9090でLISTENしている想定

import uvicorn

if __name__ == "__main__":
    uvicorn.run(app=app, host="0.0.0.0", port=9090)

1. WSL2の設定 (%USERPFORILE%\.wslconfig)

[wsl2]
localhostForwarding=True

2. ポート転送 (PowerShell 管理者権限)

PS C:\\WINDOWS\\system32> netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=9090 connectaddress=127.0.0.1 connectport=9090 protocol=tcp
PS C:\\WINDOWS\\system32> netsh interface portproxy show v4tov4

ipv4 をリッスンする:         ipv4 に接続する:

Address         Port        Address         Port
--------------- ----------  --------------- ----------
0.0.0.0         9090        127.0.0.1       9090

3. ファイアウォール

  1. 受信の規則

  2. 新しい規則

  3. ポート

  4. ☑TCP ☑特定のローカルポート: 9090

  5. 接続を許可する

  6. 環境に合わせて設定

  7. 名前をつけて作成

4. 接続 (スマホン)

http://<windowsのIPアドレス>:9090

いいなと思ったら応援しよう!