我正在将外部端口 80 转发到 Node.js 正在监听的本地端口 3000,并且我已成功配置 DDNS,以便客户端能够访问我目前正在开发的 Web 应用程序。一切都很好,直到今天我无法从外部连接到服务器。但请注意,当我使用以下工具测试服务器时https://www.yougetsignal.com使用外部 IP 地址和主机名,结果显示端口 80 已打开。但是当我尝试使用 4G 从手机访问网站时,我收到 ERR_CONNECTION_TIMED_OUT。我知道我的路由器不支持发夹式连接,我正在从移动宽带访问网站,同时使用主机名和外部 IP 地址,但两者都给出相同的错误。我尝试在 Windows 中重置我的网络设置并重新启动 PC,但徒劳无功。此外,我还下载并运行了一个 Web 服务器(https://www.rebex.net) 查看端口 3000 上的问题是否出在 NodeJs 上,但端口测试工具仍然给出端口开放的结果。在后面的 Web 服务器的 UI 中,我收到来自 yougetsignal.com 的请求,表示 http 请求为空图1(请求从 yougetsignal.com 接收并被视为空的 http 请求)]。此外,我尝试了以下命令,但无济于事。
ipconfig /flushdns
ipconfig /registerdns
ipconfig /release
ipconfig /renew
netsh winsock reset
最后我完全禁用了防火墙,但结果还是一样。
问题可能出在哪里? 有什么解决方法或可能的解决方案吗?
[更新] 我还安装了 Wireshark,并开始使用过滤器在 wifi 接口上捕获 tcp 数据包ip.addr == 192.168.1.3 && tcp.port == 3000
。请注意,ip.addr 是我的本地 ip 地址,我在 NAT 配置中将端口 80 转发给它,这是使用过滤器在 wifi 接口上捕获的 tcp 数据包。请注意,ip.addr 是我的本地 ip 地址,我在 NAT 配置中将端口 80 转发给它,这是捕获文件