CloudRun搭配Serverless NEG及URL掩码使用自定义域名路由问题咨询
核心疑问解答
不需要在Cloud Run控制台单独为服务配置mycompany.com的自定义域名映射。该架构下路由逻辑完全由外部HTTPS负载均衡统一处理,Cloud Run侧只需要保证服务正常运行、调用权限配置正确即可。
配置报错的常见排查方向
- 首先确认Serverless NEG的URL掩码配置规则是否正确:你当前填写的
mycompany.com/是无效的掩码格式,需要明确路径和服务名的映射关系。如果你希望将路径第一级作为服务名路由(比如/login对应名为login的Cloud Run服务),正确掩码应为mycompany.com/<service>。 - 确认负载均衡的URL Map配置是否正确:你需要在转发规则中添加主机匹配规则(匹配
mycompany.com)、路径匹配规则(覆盖/login/*、/search/*等你需要的路径),并将该规则绑定到你创建的Serverless NEG对应的后端服务。 - 确认路径重写规则是否配置:如果你的Cloud Run服务默认监听根路径
/,负载均衡默认会把完整路径(比如/login/xxx)传给后端服务,此时如果服务没有配置对应前缀的路由就会返回404类错误。你需要在URL Map的路径规则中添加重写配置,把<service>前缀剥离,仅保留后面的相对路径传给Cloud Run。 - 确认Cloud Run服务的调用权限配置:所有需要被路由到的Cloud Run服务,都需要为负载均衡的服务账号授予
roles/run.invoker权限,否则请求会被Cloud Run拦截返回权限错误。 - 确认Serverless NEG与Cloud Run服务处于同一区域:单区域Serverless NEG仅能路由到同区域部署的Cloud Run服务,跨区域服务无法被识别。
- 确认负载均衡的SSL证书配置正确:你需要为负载均衡配置覆盖
mycompany.com的有效SSL证书,否则HTTPS访问时会直接报站点无法访问的错误。
内容的提问来源于stack exchange,提问作者test aficionado
相关产品推荐
相关产品推荐

