我試圖配置我的谷歌雲實例,以允許外部流量,所以我可以設置一個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
代碼,如果任何人希望看到它。
您是如何創建「外部流量」防火牆規則的?我想你可能不得不通過一個特定的端口。 對於端口8080上的websocket,這可能有效: gcloud compute防火牆規則創建websocket --allow tcp:8080 – dlorenc