Access WSL localhost from LAN — For mobile testing

tanut aran
CODEMONDAY
Published in
2 min readSep 14, 2021

There is a scenario where you need to test on iPhone and debug on local.

Oops … we all hate the safari bug !

First is firewall

Click left panel ‘Advanced Setting’

It will open fire wall screen

Right click new rule on inbound rule specific port that localhost run. Mine is TCP 3000.

If you don’t know if it is TCP or not it is TCP. Next until end.

Second is forward to WSL

This step depends on machine. Mine have problem.

Open cmd in admin mode

$ wsl hostname -I
// 172. ... remember this
$ netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=<172 ... ip from above>

This will bridge your Windows machine IP over LAN (192…) to WSL IP (172…) so that iPhone can access WSL localhost.

Thanks to this Stack Overflow Answer.

Finally see the IP

$ ipconfigSee you interface
If you don't know it's likely to be the longest one
...
IPv4 Address. . . . . . . . . . . : 192.168.1.22

Type 192.168.1.22:3000 on your iPhone.

Here we go now we can access it over LAN.

Hope this helps !

--

--