如何确保不同GAE之间的连接?

时间:2018-10-04 01:50:40

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

由于某种原因,我需要使用项目A和B创建两个GAE:

  • A(flex env)是受Endpoint限制的代理服务器,并使用API​​密钥限制访问。
  • B(标准环境)是执行实际工作的真实服务器。(B无法应用Endpoint框架)
  • 客户端仅知道代理服务器地址,并将所有请求发送给A

现在,我想确保A和B之间的连接安全。换句话说,只能从A访问B。有什么方法可以实现? (防火墙在这里不起作用,因为GAE没有静态IP范围。)

1 个答案:

答案 0 :(得分:1)

  

如果您要确定App Engine应用的身份,即   向您的App Engine应用发出请求,您可以使用该请求   标头X-Appengine-Inbound-Appid。此标头已添加到请求中   由URLFetch服务提供,并且用户无法修改,因此安全   指示请求的应用程序的ID(如果存在)。

     

在您的应用程序处理程序中,您可以通过阅读以下内容检查传入的ID   X-Appengine-Inbound-Appid标头并将其与ID列表进行比较   允许提出请求。

     

注意:仅在以下情况下调用时,才设置X-Appengine-Inbound-Appid标头   制作到appspot.com域。如果应用具有自定义域,则此   标头将不会设置。

https://cloud.google.com/appengine/docs/standard/go/appidentity/#asserting_identity_to_other_app_engine_apps

这对于所有App Engine标准环境都应相同。