wslのローカルホストサーバをwindowsのサーバと同じように公開したい!!
皆さん、wslで立てたサーバーを同じローカルネットワーク上で見たいとか思いますよね?
例えば、webサイトの出来栄えをスマホで確認したい時など。
しかし、最近は全てwslでプログラミングを行うようになっていて、ネットワーク上から見ることができません。
そんなときは、これを実行します。
wslのlocalhostのポート3000をwindowsのポート3000として公開します。
あくまで同じネットワーク限定の公開です。
connectportを変更すれば、また別のwslのポートにも使えます。
リバースプロキシに管理者権限が必要なので、もらえていなかった場合は管理者権限を要求するようになっています。
※別途、3000受信のファイアウォールを切る必要があります
openwslwifi.bat
@echo off
setlocal enabledelayedexpansion
net session >nul 2>&1
if %errorLevel% == 0 (
for /f "tokens=2 delims=:" %%A in ('ipconfig ^| findstr IPv4') do (
if defined IP (
set "WSLIP=%%A"
) else (
set "IP=%%A"
)
)
netsh interface portproxy reset
netsh interface portproxy add v4tov4 listenaddress=!IP! listenport=3000 connectaddress=127.0.0.1 connectport=3000
echo wsl localhost port 3000 to windows !IP!:3000
pause
) else (
powershell -command start-process %0 -verb runas
)
endlocal
exit