【发布时间】:2014-10-21 08:26:24
【问题描述】:
我在 Windows Server 2008 R2 上使用 AWS EC2 实例,我在 IIS 的 80 端口上部署了一个应用程序。我可以在任何地方访问它。安全组如下: HTTP TCP 80 0.0.0.0/0
然后,我为 Windows 安装了 NodeJS,并将一个简单的节点应用程序部署到同一个端口。当我浏览到服务器上的 localhost 时,我看到我的应用程序正在运行,但是当我从另一台电脑浏览时,我无法访问它。它是如何从 IIS 而不是从 NodeJS 访问的?
我在 stackoverflow 上看到过这个问题,答案通常是在 AWS cosole 的安全组中设置 TCP 端口,但我已经这样做了,但它不起作用。还有其他想法吗?
【问题讨论】:
-
nodejs 是否在同一个端口上运行?如果不是,您是否允许该端口供公众访问?
-
是的,我停止了 IIS,并将 nodejs 放在同一个端口 80 上。我可以在本地浏览它,但不能公开浏览
-
尝试从另一台计算机 ping 您的服务器。如果超时,则端口有问题,如果不是,则您的 nodejs 服务器设置有问题(您没有发布您的代码,所以我无法调试它)。也看看这个serverfault.com/questions/271824/…
-
感谢您的帮助。那是港口。事实证明,AWS Windows server 2008 AMI 仅为有限的 IIS 服务集打开端口。我必须设置另一个规则来为 NodeJS 打开相同的端口。
-
你设置了什么规则来打开node js的端口?我在 EC2 的防火墙中尝试了一条规则,该规则将所有端口和任何协议设置为打开,并且它仍然在本地工作,而不是来自另一台 PC。 (尝试在没有 IIS 的情况下使用节点服务器)
标签: node.js amazon-web-services