我有一个具有默认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,
});
不,您的 CDK 代码不可能对预定义的响应标头策略(如
CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT
)进行增量修改。
原因是 CDK policy 对应于 CloudFront 托管策略。 CDK 只知道策略 ID (
5cc3b908-e619-4b99-88e5-2cf7f45965bd
),它会将其传递给分发版。策略本身的内容并未在 CDK 中定义。