📅  最后修改于: 2023-12-03 15:21:16.359000             🧑  作者: Mango
在使用WSL(Windows Subsystem for Linux)时,很多程序员会遇到一个限制:不能直接访问Windows本机上的端口。例如,不能通过WSL访问localhost:8080。
这是因为WSL运行在Windows的虚拟化层中,且与Windows本机是隔离的,所以默认情况下WSL无法直接访问Windows本机的端口。
而Wsl-allow-port是一款开源工具,可以解决这个问题。它允许WSL通过localhost访问Windows本机上的任何端口,包括通过VPN和代理访问的端口。
Wsl-allow-port是一个Node.js程序,可以通过npm进行安装。
npm install -g wsl-allow-port
首先需要在Windows本机上运行一条命令,开启端口转发。
# 开启端口转发(以8080为例)
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=8080 connectaddress=YOUR_WSL_IP connectport=8080
其中,YOUR_WSL_IP需要替换为你的WSL IP地址,可以在WSL中运行以下命令查看。
ip addr | grep eth0 | grep inet | awk '{ print $2 }' | awk -F "/" '{print $1}'
然后在WSL中运行wsl-allow-port命令,以允许访问Windows本机的端口。
sudo wsl-allow-port 8080
现在就可以通过localhost访问Windows本机上的8080端口了。
Wsl-allow-port是一款非常实用的工具,可以让WSL与Windows本机更好地融合,方便开发人员进行各种开发工作。