使用签名的Cloudfront URL上传时,将缓存控制标头传递到S3源

时间:2019-06-14 16:37:55

标签: amazon-s3 amazon-cloudfront

因此,我有一个S3存储桶,并在cloudfront中启用了2个发行版,一个用于写入(使用签名的PUT cloudfront URL),另一个用于读取(再次使用签名的Cloudfront URL)。我想允许用户在上传文件时指定“ Cache-Control”标头,但是我看不到原始S3对象上设置的任何元数据。如何配置Cloudfront,使其在PUT操作过程中传递来自用户的“ Cache-Control”标头,以反映在S3对象上?

Cloudfront config

示例输入网址:

curl --request PUT --upload-file /Users/dex/Downloads/bug1.png 'https://xxxxxxxxxxxxx.cloudfront.net/subdir/object_cache_expires_test_01.png?Expires=1570665600&Signature=M24sm3tpDK1IXYGINTA2V6cBpM-kckPtJfMGymhNuSOKAapPSe4VvVXEKuJQdAAn3iOjbeXQ63D2lpu8YxoGOl2higDv8z~GhRD1XD1nsTZiblIGnpe0fFkmF2w9flc8~hIu7VsxaB2tR1Ei3LCW-gGnX~mvMpHKt3g5a0TTNj8nw6ETZDgcEuaoSIm0Ham7GZo24k6RG-zxMPPqiGFh6gtNtLnxd7vjCQMTOdgUVA34vMuumoJMmBuCoCgl7PJF04oWsIORa8N1KEQZIi4VPTZKWv2VTPGbOeBxFbR73nisyHIGukPgaRWFoqXfZ4RnC~5zabV-zdB08Wk~~LOFcg__&Key-Pair-Id=APKAJRPBOFBOEYCMC7NA' -i  -H 'Cache-Control: max-age=90001' 

文件已上传,但是当我检查S3中的属性时,我看不到任何METADATA设置。

我尝试设置“基于所选请求标头的缓存”,并添加了Expires和Cache-Control,但结果仍然相同。未在S3对象上设置。 “对象缓存”设置为“使用原始缓存头”,因为我希望设置客户端使用Cloudfront签名的URL上传文件时来自客户端的缓存头。

0 个答案:

没有答案