Google App Engine 与 Google Cloud 运行 之间的通信
Communication between Google App Engine and Google Cloud Run
我目前有一个 ReactJS 前端作为服务部署在 Google App Engine (GAE) 上,而我的 Flask 后端 API 服务部署在 Google Cloud 运行.
我做出这些选择是为了在有合理限制的情况下留在免费套餐中。由于我的项目处于测试阶段,我刚刚使用 Cloud 运行 URL 从前端发出所有请求。但是,现在是时候让我的 Cloud 运行 API 实例私有化,并且只让来自我在 GAE 中的前端的请求得到服务。
我在 appspot 服务帐户上尝试了一些云 运行 调用者权限,但我无法使其工作。我的前端不断收到 403 禁止错误。我不确定如何继续,因为没有关于连接 GAE 和云的可用文档 运行。
文档here谈到生成静态网站。您说过您是从 App Engine 连接到 Cloud 运行,但您似乎是在 App Engine 上托管您的静态站点。连接将不再来自 App Engine,而是来自最终用户的浏览器。
您需要解除对云 运行 服务的访问限制。这是为服务到服务的身份验证而设计的,不适用于最终用户身份验证,尤其是 public 站点或拥有大量用户的站点。
还有一个名为 Firebase Auth 的产品,它可能会帮助您解决这种情况。
根据您对前端静态页面直接调用 Cloud 运行 的描述。 Cloud 运行 中有 2 个关键标志将在此处应用
--ingress=
- 如果您指定 internal
或 internal-and-cloud-load-balancing
它永远不会工作
--no-allow-unauthenticated
- 如果您指定此项,则每个用户都需要被授予自己的访问权限并提供自己的持有者令牌
按照预期的方式使用 App Engine 并直接使用 App Engine 的后端是一个更好的设计
我目前有一个 ReactJS 前端作为服务部署在 Google App Engine (GAE) 上,而我的 Flask 后端 API 服务部署在 Google Cloud 运行.
我做出这些选择是为了在有合理限制的情况下留在免费套餐中。由于我的项目处于测试阶段,我刚刚使用 Cloud 运行 URL 从前端发出所有请求。但是,现在是时候让我的 Cloud 运行 API 实例私有化,并且只让来自我在 GAE 中的前端的请求得到服务。
我在 appspot 服务帐户上尝试了一些云 运行 调用者权限,但我无法使其工作。我的前端不断收到 403 禁止错误。我不确定如何继续,因为没有关于连接 GAE 和云的可用文档 运行。
文档here谈到生成静态网站。您说过您是从 App Engine 连接到 Cloud 运行,但您似乎是在 App Engine 上托管您的静态站点。连接将不再来自 App Engine,而是来自最终用户的浏览器。
您需要解除对云 运行 服务的访问限制。这是为服务到服务的身份验证而设计的,不适用于最终用户身份验证,尤其是 public 站点或拥有大量用户的站点。
还有一个名为 Firebase Auth 的产品,它可能会帮助您解决这种情况。
根据您对前端静态页面直接调用 Cloud 运行 的描述。 Cloud 运行 中有 2 个关键标志将在此处应用
--ingress=
- 如果您指定 internal
或 internal-and-cloud-load-balancing
它永远不会工作
--no-allow-unauthenticated
- 如果您指定此项,则每个用户都需要被授予自己的访问权限并提供自己的持有者令牌
按照预期的方式使用 App Engine 并直接使用 App Engine 的后端是一个更好的设计