Terraform配置AWS Cloudfront报错InvalidHeadersForS3Origin排查求助
可能遗漏的配置排查点
- 检查默认缓存行为配置
多数用户只会核查ordered_cache_behavior的规则,容易忽略default_cache_behavior的配置:确认默认行为绑定的origin_id是否为S3源站,同时检查该块下forwarded_values.headers是否误配置了["*"];如果你使用的是独立缓存/源请求策略而非内置的forwarded_values参数,也要确认默认行为关联的源请求策略是否设置了转发所有头部。 - 核查有序缓存行为的优先级与匹配范围
按priority从高到低逐个核对所有ordered_cache_behavior的配置:是否存在高优先级的通配路径规则,绑定的是S3源站且配置了*通配符头部转发,覆盖了你预期指向Wordpress源站的路径规则。 - 核对头部通配符规则的源站ID拼写
所有配置了headers = ["*"]的缓存行为,逐一核对其origin_id与你定义的Wordpress源站ID是否完全一致,排查拼写错误、大小写偏差导致的规则误绑定到S3源站的问题。 - 校验远程状态与本地配置的一致性
你使用S3托管Terraform状态,可能存在本地配置修改后未同步到远程状态的情况:- 执行
terraform plan,逐行查看输出的变更内容,确认是否存在预期外的、关联S3源站的头部配置变更 - 执行
terraform state show aws_cloudfront_distribution.web-distribution,查看当前状态中所有缓存行为的源站绑定与头部转发配置,和本地tf文件对比是否存在不一致
- 执行
- 检查源站级别的自定义头部配置
核查所有S3类型源站的custom_header配置块,确认没有误添加通配符相关的头部规则。
内容的提问来源于stack exchange,提问作者Tom Faber
相关产品推荐
相关产品推荐

