【发布时间】:2022-08-15 18:34:03
【问题描述】:
我目前正在尝试连接两个 Google Cloud Run 服务。两者都使用默认服务帐户,部署在europe-west1,不需要 IAM 身份验证,只接受内部流量(和负载平衡流量)。我有以下架构
Load Balancer
|
` /service -------> service-0 -------> service-1
service-0 充当反向代理,添加一些身份验证标头并通过其https://<service-1>.run.app url 连接到service-1。每当我尝试从 Internet(通过负载均衡器和 service-0)连接到 service-1 时,我从位于 service-1 前面的入口处收到 404 错误。我可以验证service-0 是否正确转发了请求。
但是,当我将service-1 暴露在互联网上时,我可以毫无问题地访问该服务。
这篇帖子Google Load Balancer to Cloud Run giving 404 表明这是 europe-west1 地区的问题,但我不能简单地切换该地区。任何帮助,将不胜感激。
-
重定向是如何完成的?你有详细信息吗?
-
Cloud Run 是公共的或私有的。如果您的服务不是公开的,那么您需要 VPC 连接器。但是,没有 Cloud Run <-> Cloud Run VPC 连接器。只有从 Cloud Run 到 VPC 的 VPC 连接器。将您的服务配置为公开并使用授权 (IAP) 来允许/阻止流量。
-
@guillaumeblaquiere 它是一个基本的 NGINX 反向代理,它只向请求添加标头字段。它从
my-service.domain/service映射到<service-1>.run.app/service,所以没有路径重写等 -
@约翰汉利。即使
service-1是公开的,我也可以通过它的地址访问它,但不能通过service-0。奇怪的是来自service-0的请求到/service被入口(著名的404)阻止,而当我通过service-1\ 的地址连接时,它没有。 -
什么是标题字段?您是否更改主机标头?如果不是,请尝试将服务 1 URL 的值设置为,这可能是您的问题。
标签: google-cloud-platform google-cloud-run