Cloudfront 的 Terraform:InvalidHeadersForS3Origin,但我没有将 [*] 传递给任何 S3 源

Posted

技术标签:

【中文标题】Cloudfront 的 Terraform:InvalidHeadersForS3Origin,但我没有将 [*] 传递给任何 S3 源【英文标题】:Terraform for Cloudfront: InvalidHeadersForS3Origin, but I'm not passing [*] to any S3 origin 【发布时间】:2021-12-04 00:47:55 【问题描述】:

在 Windows 上运行 terraform 1.0.8,尝试配置 AWS Cloudfront。我正在使用 S3 中管理的状态。

我的配置有多个来源和许多行为,所有这些都适用于一个发行版。当我运行terraform apply 时,出现以下错误:

│ Error: error updating CloudFront Distribution (E2KIMIP81FA3TQ): InvalidHeadersForS3Origin: Your request contains forwarded Header Name * that is not allowed by S3.
│       status code: 400, request id: ac0ad34e-7208-46a2-9334-e55465391028
│
│   with aws_cloudfront_distribution.web-distribution,
│   on cloudfront.tf line 129, in resource "aws_cloudfront_distribution" "web-distribution":
│  129: resource "aws_cloudfront_distribution" "web-distribution" 

但是我已经多次查看了我的 .tf 文件,虽然我有一些 S3 的起源,并且一些行为通过 [] 用于标头,但没有任何情况下我通过 [ ] 到 S3 原点。我所有传递通配符标头的行为都指向 Wordpress 来源。

我会在这里遗漏什么?

【问题讨论】:

【参考方案1】:

已修复!

我在没有标头节点的行为中插入了headers = [ ]

【讨论】:

以上是关于Cloudfront 的 Terraform:InvalidHeadersForS3Origin,但我没有将 [*] 传递给任何 S3 源的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Terraform 使 AWS CloudFront Distribution 缓存失效?

aws_cloudfront_distribution forwarded_values (Terraform) 中标头的语法是啥?

Terraform无法使用静态S3网站端点创建CloudFront的原点

Terraform 错误更新 CloudFront Distribution InvalidLambdaFunctionAssociation: 该函数不能有环境变量

Cloudfront 的 Terraform:InvalidHeadersForS3Origin,但我没有将 [*] 传递给任何 S3 源

如何强制 Cloudfront 将来自源的所有请求强制为 HTTPS?