Pub/Sub 服务的官方文档指出,Push 可供公共网络上可用的侦听器使用:
具有可在公共 Web 上访问的非自签名证书的 HTTPS 服务器。
这听起来很清楚——但我想知道我是否错过了什么。是否有可能让 Pub/Sub 服务将消息推送到不在公共互联网上的本地机器?
Pub/Sub 服务的官方文档指出,Push 可供公共网络上可用的侦听器使用:
具有可在公共 Web 上访问的非自签名证书的 HTTPS 服务器。
这听起来很清楚——但我想知道我是否错过了什么。是否有可能让 Pub/Sub 服务将消息推送到不在公共互联网上的本地机器?
Cloud Pub/Sub 推送订阅需要可公开访问的 HTTPS 端点。如果您想访问本地机器,则必须通过可通过公共互联网访问的代理/路由器来完成(正如其他人所提到的)。Cloud Pub/Sub 目前不支持 VPC 进行推送订阅。
是否有可能让 Pub/Sub 服务将消息推送到不在公共互联网上的本地机器?
不容易,如果有的话。您也许可以使用反向代理。这引入了几个要管理的层:代理配置、代理计算实例、SSL 证书、VPC 路由、本地路由器等。请参阅 guillaume blaquiere 的答案。
本地资源可以通过公共 Internet 或 VPN 访问Pub/Sub,private.googleapis.com
但 Pub/Sub 无法连接到配置了私有 IP 地址的本地或 VPC 资源。
您应该可以使用cloud Nat来实现这一点