2012-11-27 67 views
3

我無法讓Azure的CDN從源傳遞壓縮文件。Azure CDN未傳遞Gzip文件

原始文件(的gzip就好:)

http://www.schooldigger.com/cdn/clientscript/SchoolDigger.1.45.min.js

>curl -I -H "Accept-Encoding: gzip,deflate" http://www.schooldigger.com/cdn/clientscript/SchoolDigger.1.45.min.js 

回報

HTTP/1.1 200 OK 
Cache-Control: max-age=1209600 
Content-Length: 57390 
Content-Type: text/javascript 
Content-Encoding: gzip 
Last-Modified: Mon, 26 Nov 2012 04:45:00 GMT 
Accept-Ranges: bytes 
ETag: "31143cb90cbcd1:0" 
Vary: Accept-Encoding 
Server: Microsoft-IIS/7.0 
X-Powered-By: ASP.NET 
Date: Mon, 26 Nov 2012 17:25:25 GMT 

CDN文件(不返回gzip壓縮):

http://cdnaz.claarware.com/clientscript/SchoolDigger.1.45.min.js

>curl -I -H "Accept-Encoding: gzip,deflate" http://cdnaz.claarware.com/clientscript/SchoolDigger.1.45.min.js 

回報:

HTTP/1.1 200 OK 
Cache-Control: max-age=1209600 
Content-Length: 150551 
Content-Type: text/javascript 
Accept-Ranges: bytes 
ETag: "31143cb90cbcd1:0" 
Server: Microsoft-IIS/7.0 
X-Powered-By: ASP.NET 
Age: 43723 
Date: Mon, 26 Nov 2012 17:31:50 GMT 
Last-Modified: Mon, 26 Nov 2012 04:45:00 GMT 
Expires: Mon, 10 Dec 2012 05:23:07 GMT 
Connection: keep-alive 

回答

0

如何壓縮在您的內容啓用?根據您的電子郵件,不清楚您是否使用Web角色來壓縮Windows Azure所需的內容。

如上所述here,約Windows Azure CDN壓縮內容?,Windows Azure CDN不會修改(或添加)到您的對象的壓縮。 Windows Azure CDN遵循基於「Accept-Encoding」頭的原始數據壓縮。如果您使用託管服務對象傳遞,則可以將IIS配置爲返回壓縮對象。

Here是如何啓用壓縮文章與您的內容以及關於這方面的一些SO discussion

+0

感謝您的迴應,Avkash。我已閱讀您提供的鏈接(在發佈此問題之前和之後),並且我認爲我已正確安裝。源內容託管在運行ASP.NET應用程序的Azure Cloud Service中,並被壓縮(請參閱上面問題中的我的第一個CURL。)默認情況下,Cloud Service中的IIS服務器會壓縮靜態內容。我在我的web.config中添加了一個指令來添加動態內容壓縮。一切從原點回來。在我的答覆中我錯過了什麼? –

+0

Pete,看起來您的Accept-Encoding標頭由於某種配置而被剝離。您可以嘗試使用主CDN網址,同時傳遞資源作爲查詢參數來查看結果。你的緩存設置還包括etag從屬緩存或特定的東西,如這裏所述http://stackoverflow.com/questions/10522714/azure-cdn-enabling-http-304-caching-with-etag-hosted-web-role – AvkashChauhan

+0

Avkash ,我不確定爲什麼Accept-Encoding標頭會被剝離。我開始使用Azure CDN來對付正確壓縮的來源。我看到關於axd文件問題的帖子,並添加了group = core.js查詢參數,但那也沒有壓縮。 –