You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform配置S3重定向桶CloudFront源报错问题求助

解决Terraform AWS Provider 4.x下CloudFront配置S3重定向桶Origin的问题

问题根源

AWS Provider 4.x弃用了aws_s3_bucket.website_endpoint,改用aws_s3_bucket_website_configuration.website_endpoint,但该端点是S3静态网站的对外访问域名,属于HTTP/HTTPS自定义源,而非CloudFront默认识别的S3对象存储原生源,因此直接配置会触发The parameter Origin DomainName does not refer to a valid s3 bucket错误。

正确解决方案

将CloudFront的Origin配置为自定义HTTP源,添加custom_origin_config块明确源类型,无需手动修改或降级Provider。

完整配置示例

  1. S3重定向桶及网站配置
resource "aws_s3_bucket" "www_bucket" {
  bucket = "www.myDomain.com"
}

resource "aws_s3_bucket_website_configuration" "www_website" {
  bucket = aws_s3_bucket.www_bucket.id

  redirect_all_requests_to {
    host_name = "myDomain.com"
    protocol  = "https"
  }
}
  1. CloudFront分发的Origin配置修改
resource "aws_cloudfront_distribution" "www_distribution" {
  # 其他分发配置(如价格类、SSL证书等)...

  origin {
    domain_name = aws_s3_bucket_website_configuration.www_website.website_endpoint
    origin_id   = aws_s3_bucket.www_bucket.id

    # 关键:声明为自定义源,配置协议策略
    custom_origin_config {
      http_port              = 80
      https_port             = 443
      origin_protocol_policy = "https-only"
      origin_ssl_protocols   = ["TLSv1.2"]
    }
  }

  default_cache_behavior {
    allowed_methods  = ["GET", "HEAD", "OPTIONS"]
    cached_methods   = ["GET", "HEAD"]
    target_origin_id = aws_s3_bucket.www_bucket.id

    forwarded_values {
      query_string = false
      cookies {
        forward = "none"
      }
    }

    viewer_protocol_policy = "redirect-to-https"
    min_ttl                = 0
    default_ttl            = 3600
    max_ttl                = 86400
  }
}

说明

  • S3静态网站托管的端点本质是HTTP服务,因此CloudFront需要以自定义源的方式对接,而非S3原生对象存储源。
  • 配置origin_protocol_policy = "https-only"确保CloudFront与S3网站端点之间使用HTTPS通信,符合安全规范。
  • 此方案完全适配AWS Provider 4.x,无需牺牲新功能或手动修改配置。

内容的提问来源于stack exchange,提问作者FiNaR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 10:36:59