2014-08-27 49 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控制檯安全組入站規則中也處於打開狀態。
相關問題