2016-10-29 80 views
0

在我的Amazon EC2实例中,我有一个Pyramid服务器以及一个正在运行的NodeJS服务器。 NodeJS服务器充当前端,我更新了我的安全组,以便我可以使用公共DNS查看页面。AWS EC2实例访问内部服务器

金字塔服务器充当后端,前端通过http://0.0.0.0:8002/访问它。但是当我对后端进行http调用时,我收到了一条Failed to load resource: net::ERR_ADDRESS_INVALID错误消息。

我需要向安全组添加规​​则,还是更新iptables或其他?

回答

1

如果这两个服务都运行在同一台服务器上,则不应该将网络流量发送出服务器并返回,因此安全组在这里不会成为问题。

问题是,你为什么在这里使用0.0.0.0?我想你可能配置了金字塔服务器来听取0.0.0.0,这实际上意味着“监听所有IP地址”。但是,您需要使用http://127.0.0.1:8002/http://localhost:8002/才能连接到来自运行在同一台服务器上的其他服务的服务。

+0

这是有道理的...我更新了路线,但我仍然得到相同的错误。但是,错误的来源已从“0.0.0.0:8002”更改为“angular.js:11442”。我正在查看它的铬。 – Niel

+0

等待,如果它是angular.js试图访问您的金字塔服务器,那么你将不得不打开它,通过互联网浏览器访问。 AngularJS代码在浏览器中运行,而不是在服务器上运行。这与NodeJS尝试访问它完全不同。如果Angular尝试访问服务器,则必须打开安全组中的端口,并使用服务器的公共IP地址(或域名)。 –

+0

我明白了,谢谢。我已经在AWS中打开了http端口80,在我的iptables中,我将端口80转发到端口角正在监听。那么我是否需要将端口80转发到端口8002? – Niel