即使`创建-invalidation`命令执行成功后,AWS CloudFront的不是无效

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

我有一个AWS的Cloudfront分布坐在一个S3存储桶承载静态网站的前面。我每次部署,我使用无效的create-invalidation --distribution-id $CDN_DISTRIBUTION_ID --paths "/*"命令,它似乎已成功运行使用AWS CLI中的Cloudfront发行。

问题是,它似乎并没有失效。如果我打开Chrome的生产现场,我受够了旧版本的网站,如果我在一个没有历史,我担任我所期待的最新版本的隐身浏览器中打开。

我需要一些帮助理解什么是一些潜在的可能,所以我知道去哪里找。

amazon-web-services amazon-s3 amazon-cloudfront
1个回答
0
投票

如果您正在使用“的index.html”中S3为您的索引文件,但使用的路径,而他自己的index.html,你需要使用的路径没有在他们的index.html用的Cloudfront的无效。

所以,如果你有S3,这路径:

/some/path/index.html

和你在的Cloudfront这样的访问这样的:

http://example.com/some/path/

然后,你将需要这样做无效:

aws cloudfront create-invalidation --distribution-id ${YOUR_DIST_ID} --paths /some/path/

所以基本上你需要无效,浏览器会使用,而不是S3使用路径的路径。

如果你不使用尾随在你的网址斜杠,则您可能没有失效后斜线。亚马逊还表示,如果你还没有那么规范,你应该做两个。

因此,在这种情况下,你可以这样做:

aws cloudfront create-invalidation --distribution-id ${YOUR_DIST_ID} --paths /some/path/ /some/path

这将覆盖失效两种情况。

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