2014-09-09 5 views
0

Azure에서 실행중인 CentOS vm이 있습니다. VM에 여러 WordPress 사이트가 있고 Azure CDN을 사용하고 있습니다. 압축 된 콘텐츠를 제공하도록 CDN을 구성하는 방법이 있습니까? 또한 W3 Total Cache를 사용하고 있습니다.Azure CDN 및 CentOS vm으로 압축 파일 제공

답변

0

필자가 아는 한 클라이언트에 파일을 제공하기 전에 파일을 압축하도록 CDN을 구성 할 방법이 없습니다. 그러나 BLOB 저장소에 파일을 업로드 할 때 파일을 확실히 압축 할 수 있으므로 CDN은 이미 압축 된 파일을 제공합니다. 그건 내가하는 일이야. 다음은 Azure blob 저장소에 파일을 업로드하기 전에 파일을 압축하는 방법을 보여주는 C# 코드 스 니펫입니다.

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);