GAE 和 IAP:前端和后端位于两个容器中?

问题描述 投票:0回答:1

我知道FE和BE都可以在同一个容器中运行,将一个进程放在后台。这样 CORS 问题就得到解决,并且身份访问代理仅在访问应用程序 URL 时调用一次。

是否建议将FE和BE分开放入两个单独的容器中?我认为CORS可以通过标头解决,但IAP门户会引入两次?每个应用程序一次?

google-cloud-platform frontend backend identity app-engine-ndb
1个回答
0
投票

你的问题有很多方面。

您使用容器吗?那么为什么使用 GAE 而不是 Cloud Run?

使用GAE,您将有机会只拥有一个平台、一个域名,因此您不会遇到 CORS 问题或 IAP 问题。是同质的


有了 Cloud Run,情况就不同了。由于 URL 不同,您将遇到 CORS 问题。解决这个问题的简单方法是将您的 Web 应用程序 (FE + BE) 暴露在负载均衡器后面,因此使用您自己的域名。

IAP 不是问题,您可以在 Cloud Run 上激活 IAP 即可顺利使用

但是,如果您这样做(使用 Cloud Run + 负载均衡器),我强烈建议您使用混合部署:

    使用 App Engine 为前端提供服务(提供静态文件是免费的,并且每天最多包含 1Gb 的出站流量)
  • 通过 Cloud Run 为 BE 提供服务。
  • 前面放一个HTTP负载均衡器,统一域名,解决CORS问题
  • 激活应用内购买。我为我的公司测试了这个组合,它工作得很好:浏览器重用从 FE 获得的 IAP cookie,在调用 BE 时注入它们
© www.soinside.com 2019 - 2024. All rights reserved.