我正在 App Engine 灵活环境中测试一个应用程序,有时我需要处理在 TCP 端口 8443 或 3443 上发送的一些 WebHooks。
据我测试,App Engine 负载均衡器(处理 HTTPS 连接)仅接受端口 443 上的连接。有没有办法监听这些其他端口上的 HTTPS 连接?我在此级别(负载均衡器)找不到 App Engine 特定的防火墙配置。
编辑:
经过一些实际测试后,我发现 WebHooks 运行正常。我遇到的错误可能与测试方式有关。
答案1
可以使用以下方式监听 443 以外的其他端口:自定义运行时,但是有一个警告,因为您无法通过 appspot.com 域指向,而是必须直接指向 IP。
解释了执行此操作的过程这里:
- 例如,如果您想从端口 2222 转发 TCP 流量。在 app.yaml 的网络设置中,包括:
network:
forwarded_ports:
- 2222/tcp
- 在 Cloud Console 中指定防火墙规则或使用 gcloud computefirewall-rules create 以允许来自任何来源(0.0.0.0/0)和 tcp:2222 的流量。
gcloud compute firewall-rules create "tcp-rule" --allow=tcp:2222
--source-ranges="0.0.0.0/0" --description="Listening on 2222"