我有一个在端口上运行的迷你 http 服务器9999
,当我在 canyouseeme.org 上测试时,它成功了,我可以看到客户端连接到我的服务器一秒钟。
但是,如果我尝试输入我的外部 IP 后跟端口,9999
我会在 Chrome 和其他浏览器中收到连接被拒绝的消息。
我尝试重新安装 Windows、禁用防火墙、向防火墙添加例外,但都没有成功。
编辑:我也尝试关闭 Windows Defender,这是我唯一拥有的 av。
編輯2:我尝试在运行 http 服务器的同一台计算机上输入我的外部 IP。我的路由器是 D-Link DSL-2790U
答案1
要测试在家庭级 NAT 路由器后面运行的服务(在可公开访问的 IPv4 地址上),您需要在家外。大多数此类路由器不支持发夹形即当请求到达某个接口时,对外部 IP 地址进行 NAT 处理以外配置了外部IP的。
答案2
感谢@user4556274。根据他的理论,我现在得到了一个解决方案:我使用代理服务器来测试我的本地服务。
我自己的路由器没有 NAT,我可以直接使用我的公共 IP 或 DDNS 对其进行测试。
在我使用 ISP 的路由器后,情况发生了变化,我不知道它提供 NAT,所以我的本地测试总是失败,并显示“连接被拒绝”。但所有“端口转发测试”站点的测试结果都正常 - 端口是开放的。
使用 Chrome 的代理服务器后代理扩展,我可以连接并测试我的服务器,因为代理服务器(作为外部 IP)直接连接到我的服务器。为此,我需要配置我的代理以避免绕过本地 IP。