我想使用 Cloudfront 从我的静态网站提供图像和 CSS。我读过无数文章,展示如何使用 Amazon S3 设置它,但我只想将文件托管在我的主机上,并使用云前端来加速所述文件的传输,我只是不确定如何去做。
到目前为止,我已经使用我的原始域和 CName 在 CloudFront 上创建了一个发行版并进行了部署。
源域: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。
谢谢
是的,您必须更新 HTML 中的路径以指向 CDN。通常,如果您有部署/构建过程,则可以在那时完成此链接更改(以便开发时可以使用本地文件)。
这里要处理的另一件重要事情是 CSS/JS 等的版本控制。您可能会频繁更改 CSS/JS。当您进行任何更改时,CDN 通常需要 24 小时才能反映。 (另一个选项是使 CDN 上的文件失效,但这是明确收费的,不鼓励这样做)。建议的方法是生成一个类似“media.example.me/XYZ/stylesheets/screen.css”的路径,并为每个部署将此 XYZ 更改为不同的数字(时间戳 /epoch 即可)。这样,每次部署时,您只需使 HTML 无效,其他文件无论如何都是新路径,并且将重新加载。这种技术通常称为 URL 指纹识别。
是的,您将更新对 CSS 文件的引用以通过 CDN 域加载。如果 CSS 中的图像路径不包含域,它们也会通过 cloudfront 自动加载。
有一种简单的方法可以将证书和 Route53 连接到部署在 AWS CloudFront 上的静态站点。
SWS控制台快速云架构构建服务。
您可以通过简单的输入轻松控制AWS资源。请参阅以下文档:
如何使用SWS控制台轻松部署到AWS S3 + CloudFront架构
您可以随意使用SWS Console轻松部署到AWS S3 + CloudFront架构并创建证书和连接Route53域!