【问题标题】:Setting up Amazon Cloudfront without S3在没有 S3 的情况下设置 Amazon Cloudfront
【发布时间】:2014-04-04 20:37:21
【问题描述】:

我想使用 Cloudfront 从我的静态网站提供图像和 CSS。我已经阅读了无数文章,展示了如何使用 Amazon S3 进行设置,但我只想将文件托管在我的主机上并使用云前端来加速所述文件的交付,我只是不确定如何去做。

到目前为止,我已经在 CloudFront 上使用我的 Origin Domain 和 CName 创建了一个分配并进行了部署。

源域:example.me CName media.example.me

我为我的域添加了 CNAME:

media.mydomain.com,目的地为 xxxxxx.cloudfront.net

现在这就是我卡住的地方?我是否需要将我的 HTML 中的链接更新为该 cname,所以如果样式表是 http://example.me/stylesheets/screen.css,我是否需要将其更改为 http://media.example.me/stylesheets/screen.css

以及样式表中从 ../images/image1.jpg 到 http://media.example.me/images/image1.jpg?的图像?

只是发现如何链接所有内容有点令人困惑,这是我第一次真正涉足使用 CDN。

谢谢

【问题讨论】:

    标签: amazon-web-services amazon-s3 cdn amazon-cloudfront


    【解决方案1】:

    是的,您必须更新 HTML 中的路径以指向 CDN。通常,如果您有部署/构建过程,则可以在那时更改此链接(以便开发时间可以使用本地文件)。

    这里还要处理的另一件重要事情是 CSS/JS 等的版本控制。您可能会频繁更改 CSS/JS。当您进行任何更改时,CDN 通常需要 24 小时才能反映。 (另一种选择是使 CDN 上的文件无效,但这是明确收费的,不鼓励这样做)。建议的方法是生成类似“media.example.me/XYZ/stylesheets/screen.css”的路径,并为每次部署将此 XYZ 更改为不同的数字(时间戳 /epoch 即可)。这样,每次部署时,您只需要使 HTML 和其他文件无效,无论如何都是新路径,并且会重新加载。这种技术通常称为对 URL 进行指纹识别。

    【讨论】:

    • 感谢您的信息。我见过人们使用让我们说 screen.css?v=12345 等这是否也可以接受而不是新的文件夹路径?
    • 是的,这也可以。您需要在 Cloudfront 中进行特殊配置才能将查询参数转发给您。
    【解决方案2】:

    是的,您将更新对 CSS 文件的引用以通过 CDN 域加载。如果 CSS 中的图像路径不包含域,它们也会通过云端自动加载。

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 1970-01-01
      • 2014-04-18
      • 1970-01-01
      • 2016-02-06
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多