我有一个端口为 9901 的应用程序,托管在在线服务器上。
如果我从同一台服务器检查此应用程序http://127.0.0.1:9901/或者http://127.0.0.1:9901/应用程序运行正确。
但是如果我从另一台计算机访问http://domain.com:9901或者http://xxxx:9901(x 是服务器 IP)。我没有收到任何回复。
可能出了什么问题?
这是我的服务器的网络状态:
$ netstat -l | grep 9901
tcp6 0 0 [::]:9901 [::]:* LISTEN
答案1
就在昨天,我的 Node.js Web 应用程序也遇到了同样的问题,最终找到了罪魁祸首和解决方案。
我的问题是因为我没有在路由器上设置端口转发(BT Home Hub 5)。当您位于路由器后面,并且想要设置外部可见的服务器时,您需要“告诉”路由器在使用服务器端口发出传入请求时将传入请求转发到哪个设备。
每个路由器的文档都不同,因此您需要查找,但弄清楚应该不难。