GCP中用全局HTTPS负载均衡器与CDN托管私有静态网站遇访问拒绝求助
问题排查与解决步骤
1. 确认CDN服务账号权限配置准确性
- 核对是否将
Storage Object Viewer权限授予了CDN专用服务账号,格式为service-<项目编号>@gcp-sa-cloudcdn.iam.gserviceaccount.com,而非负载均衡器的其他服务账号 - 验证权限是否为存储桶级别的全局授权,而非仅针对特定文件夹或对象;同时确认对象未设置独立私有ACL(私有桶对象默认继承桶权限,但需排除个别例外)
2. 检查负载均衡器后端核心配置
- 确认GCS后端服务开启了**"允许内部Google服务访问"**选项,私有桶必须开启此设置,否则负载均衡器无法拉取存储桶内容
- 检查路径映射规则:若站点以
index.html为首页,需配置/*路径指向存储桶,并在后端设置中指定index.html为默认对象 - 验证HTTPS证书状态:通过
curl -v https://<LB_IP>检查SSL握手是否正常,确认证书已生效且无域名/IP匹配问题
3. Cloud CDN缓存与日志排查
- 查看Cloud Logging中CDN相关错误日志:筛选
resource.type="cloud_cdn_edge_cache"和severity="ERROR",定位具体拒绝原因(如权限验证失败、对象不存在) - 尝试清除CDN缓存,避免旧缓存条目导致访问异常,执行命令:
gcloud compute url-maps invalidate-cdn-cache <URL_MAP_NAME> --path "/*" - 检查缓存键配置:确认无错误的路径重写或缓存策略导致请求被拦截
4. 存储桶IAM与组织政策检查
- 确认存储桶未开启**Bucket Policy Only(BPO)**与传统ACL的冲突:若启用BPO,需确保所有权限均通过IAM配置,传统ACL会被忽略
- 排查组织级IAM限制:确认组织政策未禁止CDN服务账号访问存储桶,或限制了外部流量访问
5. 负载均衡器前端与防火墙验证
- 确认VPC防火墙规则允许
0.0.0.0/0的443端口流量到达负载均衡器前端 - 检查前端配置:确认绑定了正确的IP地址,且端口设置为443(HTTPS);若配置了HTTP到HTTPS重定向,需验证重定向规则是否生效
内容的提问来源于stack exchange,提问作者Shrus
相关产品推荐
相关产品推荐

