【发布时间】:2018-10-10 12:46:06
【问题描述】:
我问的是 nodeJS 特有的这个问题,但也许它也适用于其他 Web 开发框架。
我有一个 nodeJS Express hello world 应用程序在我的笔记本电脑上运行,监听端口 3000(我使用的是 Linux Mint Sylvia 18.3)。访问此应用程序的 localhost:3000 和 :3000 请求可以正常工作机器,也在我路由器的本地网络内。但是当我在路由器上进行端口转发到端口 3000,并尝试通过
这不是为了任何生产目的,而只是为了学习。我如何在没有任何 3rd 方 Web 服务器应用程序(apache/nginx 等)或任何本地隧道(如 ngrok)帮助的情况下通过互联网访问我的 hello world 应用程序 - 就像我们如何从 AWS EC2 服务器访问 HelloWorld 应用程序一样通过访问服务器
【问题讨论】:
-
EC2 示例之所以有效,是因为它确实有一个可从外部访问的 IP 地址。如果你可以配置你的防火墙,你应该能够让它通过任何对特定端口的请求到特定的本地 IP 地址(不是 localhost,而是你的 192.168.X.X 地址)。
-
当您说“它不起作用”时,它到底在做什么?您能否提供错误消息或更多信息?
-
谢谢尼尔。但是我可以通过提及《 localip 》:端口从连接到我的wifi的另一台PC访问此应用程序。所以我想我的 linux mint 防火墙没有引起问题。我对吗?我还使用 whatsmyip.com 查找我的公共 IP,然后尝试访问该应用程序。这个ip地址不是可以公开访问的ip吗?
-
尼克,chrome中服务器请求超时。
标签: node.js express network-programming webserver portforwarding