2014-08-27 83 views
0

我在Windows Server 2008 R2上使用AWS EC2实例,我在端口80上的IIS中部署了应用程序。我可以在任何地方访问它。安全组如下: HTTP TCP 80 0.0.0.0/0AWS适用于IIS,但不适用于同一端口上的NodeJS

然后,我安装了NodeJS for windows并将简单的节点应用程序部署到同一个端口。当我浏览到服务器上的本地主机时,我看到我的应用程序正常工作,但是当我从其他PC上浏览时,我无法访问它。它如何从IIS访问,但不能从NodeJS访问?

我在stackoverflow上看到过这个问题,答案很简单,就是在AWS cosole的安全组中设置TCP端口,但是我已经这样做了,并且不起作用。任何其他想法?

+0

是nodejs在同一个端口上运行吗?如果没有,你是否允许该端口公开访问? – ravi 2014-08-27 16:37:43

+0

是的,我停止IIS,并将nodejs放在同一端口80上。我可以在本地浏览它,但不公开 – 2014-08-27 16:39:51

+0

尝试从另一台计算机ping到您的服务器。如果你得到超时然后有一个端口的问题,如果没有你的nodejs服务器设置有问题(你没有发布我们的代码,所以我不能调试它)。也看看这个http://serverfault.com/questions/271824/node-js-is-not-accessible-from-external-ips-on-ubuntu – ravi 2014-08-27 17:38:18

回答

2

对于那些谁是有同样的问题,如果你安装的NodeJS,你需要改变一些Windows防火墙设置暴露的端口:

  1. 打开开始菜单 - >管理工具 - > Windows防火墙高级安全
  2. 单击“入站规则”从操作窗口右侧
  3. 按照提示进行自定义规则,并确保添加端口左侧窗口
  4. 单击“新建规则...”那您的nodejs应用程序正在使用。确保名称,以便您识别它以后
  5. 在入站规则窗口中找到并双击您刚刚创建的规则的规则。在“程序和服务”下,选择“此程序:”并浏览至您的node.exe文件。
  6. 最后但并非最不重要的一点,请确保此端口在AWS控制台安全组入站规则中也处于打开状态。
相关问题