gpt4 book ai didi

amazon-s3 - Amazon S3 Cloudfront 部署最佳实践

转载 作者:行者123 更新时间:2023-12-02 21:48:18 29 4
gpt4 key购买 nike

我们当前的网站计划是使用 Amazon 的 Cloudfront 服务作为 CSS、JavaScript 和图像等 Assets 文件以及任何其他静态文件的 CDN。

我们目前在 S3 中有 1 个存储桶,其中包含所有这些静态文件。这些文件根据其内容被分成不同的文件夹,“Scripts”是 JS 文件,“Images”是 Images 等等 yadda yadda yadda。

所以,我从一开始就没有意识到,一旦您将存储桶从 S3 部署到 Cloudfront 分发版,那么对该存储桶的每个后续更新都不会再次部署到同一分发版。因此,每次进行静态文件更新时,您似乎都必须将存储桶重新部署到另一个 Cloudfront 实例。

这对于图像来说很好,因为我们可以轻松地确保如果图像发生更改,那么我们只需创建一个新图像。但是,这对于 CSS 和 JS 来说很难做到。

所以,这让我想到了最佳实践问题:

  1. 为每个生产部署创建另一个 Cloudfront 发行版是最佳实践吗?这里的问题是会导致 CNAME 记录出现问题。
  2. 由于 CSS 和 JS 文件的性质以及它们需要轻松修改,因此最好不要在 Cloudfront 中存储这些文件吗?似乎这个问题的答案是否定的,因为这就是 CDN 的目的。
  3. Cloudfront 是否还有其他我不知道的方法?

最佳答案

您可以向 CloudFront 发出失效请求。

http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html

不过,我们使用自己的服务器作为自定义源,而不是 S3 存储桶。我们有 .htaccess 别名 style_*.cssstyle.css,并且我们注入(inject) style.css< 的文件修改时间 在 HTML 中。当 CloudFront 看到完全不同的 URL 时,它将获取新版本。

(注意:某些 CDN 允许您通过查询字符串执行此操作,但 CloudFront 会忽略所有查询字符串数据进行缓存,因此采用 .htaccess 解决方案。)

编辑:现在可以(可选)将 CloudFront 配置为使用查询字符串。

关于amazon-s3 - Amazon S3 Cloudfront 部署最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6697641/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com