2016-11-21 158 views
1

我們有超過1MB的文件,並且通過Azure Verizon CDN自動壓縮。Azure CDN Blob存儲手動壓縮

爲了適應我們在上傳到Azure Blob骨幹之前手動壓縮文件。我們上傳文件的壓縮版本和未壓縮版本。

uploaded files

我們還配置Azure的CDN來處理JSON文件:

mime config

現在,如果我捲曲BLOB或CDN與相應的頭,我不明白壓縮的內容。

enter image description here

那麼,什麼是與天青這樣做的標準方法?我是否缺少設置或標題?

基於Accept-Encoding標頭,內容交換不可行嗎?

我是否需要刪除.gz擴展名並始終提供json壓縮?

任何見解,將不勝感激。

回答

3

編輯爲清楚:

這裏推薦的解決方案是gzip和上傳自己的資源在博客存儲,而.gz擴展名,並確保它返回「內容編碼:gzip」頭。

之後,只需通過CDN端點請求該資產。如果您的請求包含Accept-Encoding:gzip標頭,則CDN將返回壓縮資源。如果您的請求不包含Accept-Encoding標頭,則CDN將即時解壓縮該文件並向客戶端提供未壓縮版本的資產。

原來的答案:

嘿,我從在Azure CDN小組的成員。

首先,您是否使用Verizon或Akamai配置文件?

Verizon對邊緣壓縮的限制爲1MB,而Akamai則沒有。此外,此限制僅用於CDN邊緣壓縮,所以如果您的原點用正確的壓縮文件進行響應,則CDN仍應將其提供給客戶端。

就我所知,Blob存儲不會自動執行內容交換。

請注意,如果文件的未壓縮版本已被緩存在CDN邊緣上,它將繼續提供該文件,直到它到期。您可以使用'清除'功能來重置此項。

我們這兒也有一個故障排除文檔:https://docs.microsoft.com/en-us/azure/cdn/cdn-troubleshoot-compression

我很樂意幫助您進一步排查,如果上面沒有幫助。 只需在[email protected]私下發送您的起源和cdn端點URL。

+0

我們使用的是Verizon,源服務器是Azure blob存儲。它不響應壓縮內容。我已經清除並加載CDN端點,並嘗試使用查詢字符串來緩存緩存(因爲CDN配置爲緩存每個唯一網址)我已經通過故障排除指南無效。真正需要的是如何爲由blob存儲支持的Azure CDN設置手動壓縮的指南。它似乎不存在任何地方,但考慮到1mb的限制,這似乎是一個常見的要求。一封電子郵件正在發送中。謝謝! – swestner

+0

我給你發了一封電子郵件,但也在這裏分享。在Verizon的這種情況下,您希望使用已經壓縮的資源的網址來提供您的內容。根據請求中的Accept-Encoding標頭,CDN可以將其提供給用戶壓縮或實時解壓縮。 –

+0

剛回復。有一件事我不清楚的是,該文件將根據Accept-Encoding標頭從cdn解壓縮。這簡化了一些事情,但如果它能檢查.gz,它仍然會很好 – swestner