Luc*_*cas 8 google-app-engine firewall google-cloud-platform
我有两个服务在Google App Engine上运行(flex,同一个项目),我想要一个服务使用HTTPS调用另一个服务.
最重要的是,我设置了防火墙,只允许0.1.0.40和10.0.0.1.
我也在X-Appengine-Inbound-Appid请求中设置标题.
不幸的是,我收到了"403 Access is is off"错误(在禁用防火墙时会消失).
现在,我正在使用xxx.appspot.comURL来调用服务.我应该使用一些内部URL吗?似乎防火墙将请求视为外部请求.
谢谢!
在告诉您如何允许来自不同 App Engine 服务的请求的页面上,据说 IP0.1.0.40和10.0.0.1是您必须考虑的 IP,但不是唯一的 IP:
要控制来自其他 App Engine 应用程序或服务的请求的访问,您可能需要创建规则以适应用于服务间通信的 IP 地址。如果您的应用程序与 App Engine 中的其他应用程序或服务通信,则必须考虑如何处理来自以下 IP 地址的请求:...(简短地说:
0.1.0.40和10.0.0.1)
为了允许来自不同灵活服务的传入请求,您可以阅读此答案。
关于X-Appengine-Inbound-Appid标头,当 App Engine 标准服务向不同的 Google 标准或灵活服务发出请求时,它们会自动设置,但您的应用程序无法添加标头,因为当您自行设置标头或当出于安全原因请求来自 GCP 外部时,根据此、此和此。
为了看看发生了什么,我创建了两个 App Engine Flex 服务 A 和 B。Cron 会向 A 发送一个请求,然后 A 会向 B 发送一个请求。A 和 B 都会打印出它们之间所有交互的标头。这些打印输出可以在 Stackdriver Logging 中读取。
X-Appengine-Cron: true
X-Appengine-Queuename: __cron
X-Forwarded-For: 10.0.0.1, 10.0.0.1Run Code Online (Sandbox Code Playgroud)
X-Forwarded-For: xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyyRun Code Online (Sandbox Code Playgroud)
10.0.0.1相反:即使默认规则设置为拒绝,任务队列和 Cron 流量也将被防火墙允许。
| 归档时间: |
|
| 查看次数: |
1853 次 |
| 最近记录: |