2015-11-07 162 views
0

我有一個網站在亞馬遜s3上託管,並通過Cloudfront進行分發。我正在嘗試提供gzip文件。到目前爲止,我已經完成了以下工作: 1)gzip我的文件。Gzip與亞馬遜S3/Cloudfront失敗

2)將我的gzip文件上傳到s3。我現在有兩個未壓縮的和gzip的副本。例如:style.css和style.css.gz在桶中

3)我公開了這些文件。

4)我檢查了文件的元數據,看起來亞馬遜已經把內容類型:application/x-gzip。我認爲這是正確的。

5),那麼我將要去的元數據,並增加一塊新的元數據的添加內容編碼:內容編碼:gzip

我認爲這是我不得不這樣做,但是當我去我的網頁現在只需下載html文件的副本,而不是顯示它們。我錯過了什麼?我是初學者,所以任何事情都有幫助。謝謝

回答

2

Content-Type: application/x-gzip是錯誤的。內容類型必須設置爲文件的實際內容類型,例如text/html

Content-Encoding: gzip是正確的,並且是必需的。

+0

非常感謝!我試過了,頁面正在加載,但它似乎仍然沒有爲瀏覽器提供gzip格式。還有什麼我失蹤?非常感謝 – schermee

+0

它不會神奇地服務gzip內容,您必須使用.gz鏈接。或者,只保存* gzip文件的副本,沒有.gz ...例如,將gzip文件保存爲index.html,content-type text/html,content-encoding gzip ...這就是我所做的它。 –

+0

@ Michael-sqlbot當谷歌搜索我的問題的答案我一直在你的答案發生。你介意看看:http://stackoverflow.com/questions/35590622/cloudfront-with-s3-website-as-origin-is-not-serving-gzipped-files? – m0meni