我通過此link在Google Cloud Engine(GCE)上安裝了MEAN堆棧。如何通過瀏覽器訪問Google Cloud Engine實例的IP地址
我創建了一個新的防火牆規則來接受任何傳入的請求(實際上做我需要做的這個默認允許HTTP的有相同的規則是嗎?):
但是,當我嘗試使用Chrome訪問IP時,出現錯誤。即使當我更改瀏覽器時,錯誤仍然存在,例如IE或Firefox:
我可以知道我在做什麼錯嗎?
希望有任何建議!提前致謝!
我通過此link在Google Cloud Engine(GCE)上安裝了MEAN堆棧。如何通過瀏覽器訪問Google Cloud Engine實例的IP地址
我創建了一個新的防火牆規則來接受任何傳入的請求(實際上做我需要做的這個默認允許HTTP的有相同的規則是嗎?):
但是,當我嘗試使用Chrome訪問IP時,出現錯誤。即使當我更改瀏覽器時,錯誤仍然存在,例如IE或Firefox:
我可以知道我在做什麼錯嗎?
希望有任何建議!提前致謝!
更明確 - 防火牆的工作僅僅是攔截不允許的傳入連接並將其靜默放置。
在這種情況下,您: (a)請參閱來自VM公共IP地址的ping響應,表明ICMP未被防火牆阻止。 (b)查看VM發送的TCP RST數據包,以響應瀏覽器在嘗試連接到VM上的TCP服務器時發送的TCP SYN數據包。這表示發送到TCP端口80的數據包也按預期通過了防火牆。
這裏缺少的是虛擬機上的服務器應用程序,它監聽端口80上的連接,接收HTTP請求並作出響應。你可以嘗試運行Apache(或者Nginx,它的設置更簡單)。
在回答您的其他問題 - 你不需要第二TCP:80防火牆規則 - 但如果你想默認的HTTP規則,以允許數據包你的虛擬機,你將需要一個標籤來你的虛擬機標記爲「http-server」。
實際上,爲了測試防火牆是否正確阻止與虛擬機上任何其他端口的TCP連接,請嘗試在瀏覽器中輸入「http://104.154.39.199:8080」。在這種情況下(除非將防火牆條目修改爲允許端口8080),否則應該連接超時。如果你的_add_端口8080(沒有監聽服務器),你會得到一個RST。 GCE與AppEngine有點不同,因爲Web服務器不會自動在虛擬機上設置 - 但它更靈活,因爲您可以完全控制運行的內容。但是,Nginx的安裝和設置非常簡單 - 只需一試! – Kevin
出於安全原因,MEAN堆棧應用程序僅在本地主機地址上使用Express在端口3000(默認地址)上運行。爲了促使應用程序在互聯網上可見(在端口80上),只需在apache(或nginx或...)上創建一個代理反向子句。
須藤納米/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf
添加此聲明是這樣的: 的ProxyPass http://localhost:3000 ProxyPassReverse http://localhost:3000
須藤的/ opt/bitnami/ctlscript。SH重啓Apache
如果應用程序是lauched使用 http://address_of_VMInstance/yourapp
是你能解決這個您的情況下,你可以打開它?如果是這樣,請發佈答案,以便社區可以受益。以下是一些提示,以便排除其他問題:a)SSH在服務器中,並檢查它是否在該端口上偵聽。即「netstat -tulpn」。 b)驗證VM阻塞連接(即iptables)中沒有防火牆。 c)在Google防火牆中添加規則(「default-allow-http」可用於端口80,但服務器仍需標記)。 – Carlos