2016-01-28 53 views
0

我試圖配置我的谷歌雲實例,以允許外部流量,所以我可以設置一個Web套接字;儘管爲所有外部TCP/IP流量添加了規則,但我無法訪問它。我的規則是:gcloud compute:爲外部流量配置防火牆

gcloud compute firewall-rules list 
NAME    NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS 
default-allow-ssh default 0.0.0.0/0 tcp:22 
external-traffic default 0.0.0.0/0 tcp,udp 


gcloud compute instances list 
NAME  ZONE   MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS 
pi-server us-central1-a n1-standard-1    **.***.*.* **.***.***.*** RUNNING 

我已經完成了這個靜態IP(這顯示在我的雲儀表板):

Name    External Address Region  Type In use by 
crypto-iris-****** **.***.***.*** us-central1 Static VM instance my_instance_name (Zone a) 

我也有一些轉到客戶機/服務器網絡套接字代碼完美的作品在我的電腦上使用localhost:8080作爲地址。所以,我的問題是:我可以簡單地用這些規則下的實例的外部靜態IP替換localhost嗎?

我的客戶利用的"github.com/gorilla/websocket"在客戶端的8080端口輸出本地爲:根據要求

connecting to ws://23.251.148.133:8080/echo 
dial:dial tcp 23.251.148.133:8080: getsockopt: operation timed out 
exit status 1 

代碼,如果任何人希望看到它。

+0

您是如何創建「外部流量」防火牆規則的?我想你可能不得不通過一個特定的端口。 對於端口8080上的websocket,這可能有效: gcloud compute防火牆規則創建websocket --allow tcp:8080 – dlorenc

回答