我正在尝试在 Linux 子系统内运行一个端口为 3002 的服务器。但是我无法从同一网络内的本地计算机之外访问该服务器。
问题
如何从同一网络中的其他设备访问在 Windows Linux 子系统内运行的服务器?
假设
- 我的机器本地IP地址是
192.168.1.10
- 我的服务器正在端口运行
3002
正在起作用的是:
- 托管在 Linux 子系统中的服务器可以通过任何浏览器访问同一台机器通过
localhost:3002
和192.168.1.10:3002
。 - 托管在 Windows 中的服务器(不在 Linux 子系统内)可通过以下方式在本地计算机外部访问
192.168.1.10:3002
不起作用的是:
- Linux 子系统内托管的服务器无法通过同一网络上的设备访问
192.168.1.10:3002
答案1
没有很好的方法可以自动允许所有 WSL 程序通过控制面板防火墙设置。要使其工作,您必须使用高级安全 Windows 防火墙来设置端口例外,而不是程序例外。
- 搜索“具有高级安全性的 Windows 防火墙”
- 添加新的入站规则,类型为端口
- 允许端口 (3002/TCP)