Rapid API接入Google Cloud Run服务时防火墙配置403错误问题咨询
Cloud Run对接Rapid API返回403错误的解决方案
核心问题原因
当前Cloud Run入口配置是公网请求被拦截的根本原因:
- 你设置的
Ingress: Allow internal traffic and traffic from Cloud Load Balancing规则仅允许两类流量访问Cloud Run服务:- GCP项目同VPC内部资源、VPC对等连接的内部资源发起的请求
- 经过Google Cloud Load Balancing转发的流量
Rapid API的请求以及你自有静态IP服务器的请求均为直接公网发起,未经过Cloud Load Balancing转发,因此即使配置了VPC防火墙IP白名单,也会被Cloud Run的入口规则直接拦截返回403。
你当前配置的Authentication: Allow unauthenticated invocations符合需求,无需调整,该配置可确保符合入口规则的请求无需额外GCP IAM鉴权即可访问API服务。
可选解决方案
方案一:调整Cloud Run入口规则(最简适配方案)
将Cloud Run的Ingress规则修改为Allow all traffic,此时公网请求可直接到达Cloud Run服务,你已配置的VPC防火墙IP白名单规则会正常生效,仅允许Rapid API的IP段和你指定的白名单IP访问服务。
验证逻辑:
- 保存Cloud Run配置,等待新版本部署完成
- 从已加入白名单的静态IP服务器发起请求,确认返回正常不再出现403
- 从未加入白名单的公网环境发起请求,确认访问被拦截,符合安全要求
方案二:保留当前Ingress规则,配置Cloud Load Balancing转发(高安全高可用架构方案)
如果需要保留Allow internal traffic and traffic from Cloud Load Balancing的入口规则提升服务安全性,可配置Cloud Load Balancing作为公网统一入口,转发Rapid API的请求到Cloud Run服务:
- 配置外部HTTP/HTTPS负载均衡,后端服务绑定目标Cloud Run实例
- 在负载均衡的云装甲规则中配置Rapid API的IP段白名单,拦截非白名单的公网请求
- 配置完成后将负载均衡的公网IP作为对外暴露的端点提供给Rapid API使用
内容的提问来源于stack exchange,提问作者Grigory
相关产品推荐
相关产品推荐

