2016-10-29 105 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