2014-03-03 80 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中的圖像路徑不包含域,則它們也將通過雲端自動加載。

相關問題