Обслуживание сжатых файлов с помощью Azure CDN и CentOS vm

У меня есть виртуальная машина CentOS, работающая в Azure. У меня есть несколько сайтов WordPress на виртуальной машине, и я использую Azure CDN. Есть ли способ настроить CDN для обслуживания сжатого контента? Также я использую W3 Total Cache.


person user715564    schedule 09.09.2014    source источник


Ответы (2)


Насколько мне известно, нет возможности настроить CDN для сжатия файлов перед их отправкой клиентам. Однако вы, безусловно, можете сжимать свои файлы при их загрузке в хранилище BLOB-объектов, и поэтому CDN будет обслуживать файлы, которые уже были сжаты. Во всяком случае, я этим занимаюсь. Вот фрагмент кода C #, демонстрирующий, как я сжимаю файлы перед их загрузкой в ​​хранилище BLOB-объектов Azure:

var blobData = new byte[] { ... you data goes here ... };

var stream = new MemoryStream();
var zipStream = new GZipStream(stream, CompressionMode.Compress))
zipStream.Write(data, 0, blobData.Length);
zipStream.Close();

var storageCredentials = new StorageCredentials("myaccountname", "mykey");
var storageAccount = new CloudStorageAccount(storageCredentials, true);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("$root");

var blob = container.GetBlockBlobReference("mycompressedfile.txt");
blob.Properties.ContentEncoding = "gzip";
blob.UploadFromStream(stream);
person desautelsj    schedule 10.09.2014

Обновленный ответ: все 3 провайдера Azure CDN; Verizon, Akamai и Microsoft поддерживают сжатие ресурсов на конечной точке для возврата клиенту на основе заголовков запросов Accept-Encoding. дополнительные сведения см. в документации. https://docs.microsoft.com/en-gb/azure/cdn/cdn-improve-performance#compression-rules.

Ресурс должен соответствовать определенным критериям, а тип MIME ресурса должен быть явно настроен для сжатия.

person ADarby    schedule 16.07.2019