云 运行 服务对同一项目内的服务请求仍被 Ingress=Internal 阻止

Cloud run service to service requests from within same project still being blocked by Ingress=Internal

我已经设置了 nodejs 和 python 云 运行 服务。 nodejs 前端调用 python 服务,请求在 ingress=all 时工作但是当我更改为 ingress=internal 时它阻止我的服务来服务请求。

我尝试使用 VPC 连接器并通过 nodejs 服务中的 VPC 连接器路由所有出口,但这并没有解决问题。

我对 ingress=internal 应该如何工作有误解吗?我认为它会阻止除来自同一项目中的服务的请求之外的任何内容。

任何人有任何想法,甚至我在哪里可以找到一些日志来至少帮助诊断问题?

您的问题来自您的请求来源。当您尝试实现网络配置时,您需要注意这一点。

根据您的评论,我了解到您的前端服务在用户浏览器中提供 React-Redux 操作。现在,打印请求流程

User Browser -> Frontend -> User Browser
(Load JS on user Browser)
User Browser -> Backend -> ERROR

实际上,只有连接到项目 VPC 的资源才能访问后端。在您的情况下,执行请求的是用户浏览器,因此您会收到错误消息。


您执行的设置将在请求流中起作用

User Browser -> Frontend -> (serverless VPC Connector) -> Backend -> (serverless VPC Connector) -> Frontend ->User Browser

这意味着,请求必须全部到达连接到 VPC(通过无服务器 VPC 连接器)的可公开访问的服务(此处为前端),然后对仅供内部使用的服务执行请求。