Google Cloud负载均衡与存储桶出现No Such Key错误求助
解决GCS负载均衡路径映射"No such key"问题
检查负载均衡路径重写规则
当配置/upload-media/*指向存储桶时,默认会将完整请求路径(包括/upload-media/)作为GCS对象的查找前缀。如果你的test.png是直接存在存储桶根目录,而非upload-media子目录下,必须配置路径重写:在负载均衡的路径匹配规则中,将路径表达式设为/upload-media/(.*),并设置重写路径为$1,这样请求/upload-media/test.png会实际查找GCS中的test.png对象。确认GCS对象的实际路径
登录Cloud Storage控制台,检查存储桶内test.png的对象名:- 确认对象名是
test.png而非upload-media/test.png(除非你确实把文件存在了该子路径下) - GCS对象名区分大小写,检查请求路径的大小写和对象名完全一致
- 确认对象名是
验证存储桶后端的权限配置
确保负载均衡使用的服务账号(通常是[项目编号]-compute@developer.gserviceaccount.com)拥有storage.objects.get权限:给该账号添加Storage Object Viewer角色,避免因权限问题导致的"找不到对象"误报排除缓存干扰
浏览器或CDN可能缓存了之前的错误响应,用命令行测试:curl -H "Cache-Control: no-cache" https://mydomain.com/upload-media/test.png检查路由优先级冲突
确认App Engine的dispatch.yaml中没有定义/upload-media/*相关的路由规则,避免App Engine路由优先于负载均衡规则被匹配
内容的提问来源于stack exchange,提问作者Tiago S
相关产品推荐
相关产品推荐

