【问题标题】:Cloudfront static sites with versioning具有版本控制的 Cloudfront 静态站点
【发布时间】:2017-03-03 06:30:26
【问题描述】:

我喜欢在 S3 + Cloudfront 中托管静态网站的想法。

最佳实践似乎是在 S3 中对文件进行版本控制。例如,对于站点版本2324,我会在里面放一些东西

s3://my-site-assets/2324/images/logo.jpg

我遇到的问题是如何对实际页面进行版本控制。如果“hello”页面位于

s3://my-site-assets/2324/hello.html

我希望https://my-site.com/hello.html 的访问者获得正确的版本。

这对于 100% 静态网站是否可行?现在,我正在通过版本控制资产做类似的事情,但我的页面都是通过 EC2/Varnish/ELB 提供的。仅用于重写 hello.html -> 2324/hello.html 似乎相当重量级。

【问题讨论】:

  • @squidpickels 这个问题你解决了吗?
  • @MananShah 运气不好,但我最近没有解决这个问题。

标签: amazon-s3 amazon-cloudfront static-site


【解决方案1】:

今天可以使用Lambda@Edge 您必须进行服务器端重定向才能加载最新版本的站点。由于您正在对站点进行版本控制,因此您必须在某个地方维护该版本。在您的 lambda@edge 逻辑中使用该数字。

请求 (https://my-site.com/hello.html) -> L@E(在此处重定向)-> CF -> S3(一直返回)

L@E 逻辑:replace(base_url, base_url+/+${latest_version})

通过 Lambda@Edge 路由的参考文档:https://making.close.com/posts/redirects-using-cloudfront-lambda-edge

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2019-11-17
    • 2021-12-27
    相关资源
    最近更新 更多