google-app-engine - Google App Engine 防火墙和内部访问

标签 google-app-engine google-cloud-platform firewall

我有两个服务在 Google App Engine 上运行(flex,同一个项目),我希望一个服务使用 HTTPS 调用另一个。

除此之外,我设置了防火墙,只允许 0.1.0.4010.0.0.1

我还在请求中设置了 X-Appengine-Inbound-Appid header 。

不幸的是,我收到“403 访问被禁止”错误(禁用防火墙后消失)。

现在,我正在使用 xxx.appspot.com URL 来调用该服务。我应该改用一些内部 URL 吗?该请求似乎被防火墙视为外部请求。

谢谢!

最佳答案

我们的团队遇到了类似的问题。除了我们的其他 App Engine 服务,我们拒绝所有外部访问,其中一些服务位于不同的 GCP 项目中。允许通过防火墙从其他 App Engine 服务进行访问的唯一方法是让消费服务使用 URL Fetch 服务并按照您提到的那样传入 appspot.com URL。您还可以将 followRedirects 设置为 false。

但是,在您的情况下,这是行不通的。根据这个:https://cloud.google.com/appengine/docs/flexible/nodejs/glossary它仅适用于 Java、Python、PHP 和 Go。在这些情况下,您只需为 0.1.0.40 和 10.0.0.1 添加白名单规则。

如果您不想在 Google Compute Engine 中创建代理服务(如前所述 here ),您将必须添加此处指定的一堆非常大的 CIDR 范围:https://cloud.google.com/appengine/kb/

关于google-app-engine - Google App Engine 防火墙和内部访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49685512/

相关文章:

maven - 大于 Google 云平台中允许的最大大小 [33554432]

google-app-engine - 我可以在单个 appengine 项目中混合编程语言吗?

node.js - Http 请求未路由到 Https NodeJs

python - centos 7启动firewalld失败

java - java程序如何穿越防火墙

tcp - iptable ubuntu 允许多个特定 ip 到特定端口,放弃其余的吗?

python - 解决 App Engine 模块上的发现路径

google-app-engine - 谷歌云端点和智威汤逊

python - 存储桶名称必须以数字或字母开头和结尾

python - 在 Python Cloud Function 之后重定向