2014-03-03 72 views
2

我想使用Cloudfront从我的静态网站提供图像和CSS。我已经阅读了无数篇文章,展示如何使用Amazon S3进行设置,但是我只想将这些文件托管在我的主机上,并使用云端来加快所有文件的传输速度,但我不确定如何去解决这个问题。在没有S3的情况下设置Amazon Cloudfront

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

原始域:example.me CNAME media.example.me

我加入了CNAME我的域:

media.mydomain.com与目的地xxxxxx.cloudfront.net现在这个

我卡在哪里?我是否需要更新我的HTML链接到CNAME所以如果样式表是http://example.me/stylesheets/screen.css我更改到了../images/image1.jpg到http://media.example.me/images/image1.jpg在样式表中http://media.example.me/stylesheets/screen.css

和图像?

只是发现它有点混淆如何链接所有这是我第一次真正涉足使用CDN。

感谢

回答

1

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

在这里还要处理的另一件重要事情是版本控制CSS/JS等。您可能会频繁更改CSS/JS。当你做出任何改变时,通常CDN需要24小时才能反映出来。 (另一个选择是使CDN上的文件无效,但这是明确的,并且不鼓励)。建议的方法是生成一个类似于“media.example.me/XYZ /stylesheets/screen.css”的路径,并将每个部署的此XYZ更改为不同的数字(时间戳/时期将执行的操作)。通过这种方式,每个部署都需要仅使HTML无效,其他文件以任何方式成为新路径,并且会加载新鲜的文件。这种技术通常称为手指打印URL。

+0

感谢您的信息。我见过人们使用让我们说screen.css?v = 12345等这将是可接受的,而不是一个新的文件夹路径? –

+0

是的,这也可以。您需要在Cloudfront中执行特殊配置才能转发查询参数。 –

0

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

相关问题