2012-12-13 14 views
5

Czy istnieje sposób uzyskania Azure Web Sites dostarczania zawartości gzip do żądań z serwera proxy HTTP 1.0, takiego jak Amazon Web Services CloudFront? Rozważyć prośbę takiego:Kompresja gzip dla żądań proxy HTTP 1.0 na witrynach sieci Azure

curl -I -H "accept-encoding: gzip,deflate,sdch" -H "Via: 1.0 {foo.cdn.net}" -0 http://{fooproject}.azurewebsites.net/ 

Wydaje się, że ogólny sposób do osiągnięcia celu jest dodanie następujący element do system.webServer:

<httpCompression noCompressionForHttp10="false" noCompressionForProxies="false" /> 

Wydaje się również, że httpCompression is only valid w ApplicationHost.config i nie web.config co oznacza, że nie można go zastąpić w witrynach Azure.

Wszelkie sugestie dotyczące obejścia problemu?

Dodatkowe zasoby:

Odpowiedz

0

Auto-magiczny moduł HTTP, który wykonuje zadanie, przedstawiono poniżej. Musisz zarejestrować go w pliku Web.config.

Moduł jest przeznaczony do pracy z IIS 7.0 lub nowszym w trybie zintegrowanego potoku (witryny Azure mają dokładnie to po wyjęciu z pudełka). Jest to najbardziej rozpowszechniona konfiguracja, więc zazwyczaj działa po podłączeniu. Należy pamiętać, że moduł powinien być pierwszym na liście modułów.

Web.config próbka rejestracja:

<configuration> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <add name="CdnHttpCompressionModule" preCondition="managedHandler" type="YourWebsite.Modules.CdnHttpCompressionModule, YourWebsite" /> 
     <!-- You may have other modules here --> 
    </modules> 
    <system.webServer> 
</configuration> 
1

IIS nie będzie kompresji HTTP/1.0 żądań. Można zmienić to zachowanie, ustawiając:

appcmd set config -section:system.webServer/httpCompression /noCompressionForHttp10:"False"

Powiązane problemy