如何将缓存控制标头添加到 aws CDK Cloudfront 中的现有 responseHeaderPolicy?

问题描述 投票:0回答:1

我有一个具有默认responseHeaderPolicy 的AWS CDK Cloudfrount 发行版。我需要添加一个缓存控制指令,但似乎我必须从头开始创建整个 ResponseHeaderPolicy,其中包括 CORS 策略和其他我可以使用默认值的配置。 有没有办法编辑默认的responseHeaderPolicy来添加缓存控制,而不必构建整个对象?

这是我当前的配置:

    const cf = new cloudfront.Distribution(this, `cdn-${this.env}`, {
defaultBehavior: { 
      origin: new origins.S3Origin(this.cdnBucket),
      cachePolicy: custom_policy,
      allowedMethods: cloudfront.AllowedMethods.ALLOW_GET_HEAD_OPTIONS,
      originRequestPolicy: cloudfront.OriginRequestPolicy.CORS_S3_ORIGIN,
      responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT,
    },
  domainNames: [domain],
  certificate,
});
amazon-web-services amazon-cloudfront aws-cdk cache-control
1个回答
0
投票

不,您的 CDK 代码不可能对预定义的响应标头策略(如

CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT
)进行增量修改。

原因是 CDK policy 对应于 CloudFront 托管策略。 CDK 只知道策略 ID (

5cc3b908-e619-4b99-88e5-2cf7f45965bd
),它会将其传递给分发版。策略本身的内容并未在 CDK 中定义。

© www.soinside.com 2019 - 2024. All rights reserved.