支持Nginx(代理S3)的云前端随机丢失已经缓存的项目?

Yug*_*dle 12 nginx amazon-s3 amazon-ec2 amazon-web-services amazon-cloudfront

我希望使用Cloudfront作为CDN前端的S3存储桶提供图像,为此我尝试了以下方法:

希望实现的目标(尝试2) - (随机错过cloudfront缓存)

我有以下设置来提供图像:( Cloudfront - > Nginx - > S3) Cloudfront  - > Nginx  - > S3

<<<<<<<<示例S3标题>>>>>>>>>> 尝试-2 S3标头

<<<<<<<<示例Nginx - > S3标题(添加缓存控制)>>>>>>>>>> 尝试-2 Nginx-> S3标头

<<<<<<<<示例Cloudfront - > Nginx - > S3标题>>>>>>>>>> 尝试2 Cloudfront-> Nginx-> S3标头

目前正在使用的内容(尝试1) - (每次都按预期点击云端)

Cloudfront  - > S3

Cloudfront设置:

我用标题搞砸Attemp-2的原因是什么?(Cloudfront随机丢失)

Url(http://cdn.example.com/abc.jpg)和Url(http://cdn.example.com/abc.jpg?v=1)都会有相同的ETag,那很好吗?

更新

#AWSforums.aws.amazon.com跟进,仍在等待回复:

https://forums.aws.amazon.com/thread.jspa?threadID=144286&tstart=0#

UPDATE2

  • 最近来自云端的命中/未命中行为改变而没有改变任何东西.
  • 之前的命中/未命中是随机的,没有修复模式
  • 现在,(我的结果没有变化)我得到所有点击1天,所有人都错过了第二天.
  • 这表明其24小时缓存但TTL和缓存标头表明5年缓存到期.
  • 这又是奇怪的,没有任何解释.

嘿,AWS你能看到这个???

Yug*_*dle 1

经过一番4 months反复的来回也amazon support没能解决问题。

所有问题仍然存在:

  • 缓存大约一天后就会过期,24 小时后就会丢失。(我的有效期是1年)

  • 所有标头和aws 设置均经过amazon support自行验证

  • 不幸的是,由于锁定,该公司仍在为这种糟糕的体验付出代价。

在此输入图像描述

------ After 24 hours ------
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

------ After 24 hours ------
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

------ After 24 hours ------
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

-------- And so on.. -------
Run Code Online (Sandbox Code Playgroud)

结论是,问题仍未解决亚马逊支持似乎已经放弃。这是一种很奇怪的经历,因为aws我们通常认为这是理所当然的。

:(