gcloud compute:为外部流量配置防火墙

时间:2016-01-28 06:48:02

标签: sockets networking go google-compute-engine gcloud

我正在尝试配置我的Google云端实例以允许外部流量,因此我可以设置网络套接字;但是,尽管为所有外部TCP / IP流量添加了规则,但我无法访问它。我的规则是:

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)   

我还有一些Go客户端/服务器Web套接字代码,可以在我的计算机上使用localhost:8080作为地址。所以,我的问题是:我可以根据这些规则简单地将localhost替换为我的实例的外部静态IP吗?

我的客户端在端口8080上使用"github.com/gorilla/websocket"。本地客户端的输出是:

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

根据要求提供代码,如果有人想看到它。

1 个答案:

答案 0 :(得分:2)

问题:我的golang / gorilla服务器正在localhost:8080上托管。我将其更改为0.0.0.0:8080。顺利航行之后。

请参阅以下帖子,但基本上服务器正在侦听本地环回地址(仅适用于本地计算机),而不是外部世界。

https://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1

相关问题