修改Cloud CDN缓存模式为源站设置时触发defaultTtl取值报错的解决方法
Backend Service CDN缓存模式切换报错解决方案
操作背景
名下Backend Service需调整绑定的Cloud CDN缓存模式配置:
- 当前缓存模式设置为强制缓存所有内容,配置界面如下:

- 尝试将缓存模式修改为基于Cache-Control响应头应用源站设置,选择界面如下:

操作提交时弹出校验错误:Invalid value for field 'resource.cdnPolicy.defaultTtl': '0'. default_ttl cannot be specified with USE_ORIGIN_HEADERS cache_mode.
报错界面如下:
报错根因
该问题属于GCP平台已知缺陷:从“强制缓存所有内容”切换为基于源站响应头的缓存模式时,控制台会自动将原有配置里的defaultTtl值替换为0并随配置请求一起提交,但按照平台配置校验规则,使用USE_ORIGIN_HEADERS(基于源站响应头的缓存模式)时,配置请求中不允许携带任何defaultTtl字段的取值,即使取值为0也会被校验拦截。
解决操作步骤
- 不要直接在控制台点保存,改用gcloud命令行完成配置切换
- 提交配置时主动去掉defaultTtl字段,同时把缓存模式指定为
USE_ORIGIN_HEADERS - 配置生效后,再根据业务需求调整最小TTL、最大TTL等其他缓存参数即可
内容的提问来源于stack exchange,提问作者runeks
相关产品推荐
相关产品推荐

