本地机器外部无法访问端口

本地机器外部无法访问端口

我正在尝试在 Linux 子系统内运行一个端口为 3002 的服务器。但是我无法从同一网络内的本地计算机之外访问该服务器。

问题

如何从同一网络中的其他设备访问在 Windows Linux 子系统内运行的服务器?

假设

  • 我的机器本地IP地址是192.168.1.10
  • 我的服务器正在端口运行3002

正在起作用的是:

  1. 托管在 Linux 子系统中的服务器可以通过任何浏览器访问同一台机器通过localhost:3002192.168.1.10:3002
  2. 托管在 Windows 中的服务器(不在 Linux 子系统内)可通过以下方式在本地计算机外部访问192.168.1.10:3002

不起作用的是:

  1. Linux 子系统内托管的服务器无法通过同一网络上的设备访问192.168.1.10:3002

答案1

没有很好的方法可以自动允许所有 WSL 程序通过控制面板防火墙设置。要使其工作,您必须使用高级安全 Windows 防火墙来设置端口例外,而不是程序例外。

  1. 搜索“具有高级安全性的 Windows 防火墙”
  2. 添加新的入站规则,类型为端口
  3. 允许端口 (3002/TCP)

相关内容