Enabling gzip compression on Azure App Service

16,096

You can change this in the web.config:

<system.webServer>
  <urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>

Then:

<httpCompression>
  <dynamicTypes>
    <clear />
    <add enabled="true"  mimeType="text/*"/>
    <add enabled="true"  mimeType="message/*"/>
    <add enabled="true"  mimeType="application/x-javascript"/>
    <add enabled="true"  mimeType="application/javascript"/>
    <add enabled="true"  mimeType="application/json"/>
    <add enabled="false" mimeType="*/*"/>
    <add enabled="true"  mimeType="application/atom+xml"/>
    <add enabled="true"  mimeType="application/atom+xml;charset=utf-8"/>
  </dynamicTypes>
  <staticTypes>
     <clear />
     <add enabled="true" mimeType="text/*"/>
     <add enabled="true" mimeType="message/*"/>
     <add enabled="true" mimeType="application/javascript"/>
     <add enabled="true" mimeType="application/atom+xml"/>
     <add enabled="true" mimeType="application/xaml+xml"/>
     <add enabled="true" mimeType="application/json"/>
     <add enabled="false" mimeType="*/*"/>
   </staticTypes>
 </httpCompression>

source: Microsoft forum

Share:
16,096
edesr
Author by

edesr

:-)

Updated on June 05, 2022

Comments

  • edesr
    edesr almost 2 years

    I have a web app hosted in microsoft azure. As local IIS uses compression for both static and dynamic content I expected this to work on azure platform as well. As it seems compression does not work as json and css files for example are returned uncompressed:

    Request header

    Response header

    I have tried to set compression as mentioned in serveral posts (e.g. gzip compression in Windows Azure Websites or ) like this without any changes to the result:

    <system.webServer>
        <urlCompression doStaticCompression="true" doDynamicCompression="true" />
      <httpCompression>
        <dynamicTypes>
        <clear />
        <add enabled="true" mimeType="text/*"/>
        <add enabled="true" mimeType="message/*"/>
        <add enabled="true" mimeType="application/x-javascript"/>
        <add enabled="true" mimeType="application/javascript"/>
        <add enabled="true" mimeType="application/json"/>
        <add enabled="false" mimeType="*/*"/>
        <add enabled="true" mimeType="application/atom+xml"/>
        <add enabled="true" mimeType="application/atom+xml;charset=utf-8"/>
      </dynamicTypes>
      <staticTypes>
        <clear />
        <add enabled="true" mimeType="text/*"/>
        <add enabled="true" mimeType="message/*"/>
        <add enabled="true" mimeType="application/javascript"/>
        <add enabled="true" mimeType="application/atom+xml"/>
        <add enabled="true" mimeType="application/xaml+xml"/>
        <add enabled="true" mimeType="application/json"/>
        <add enabled="false" mimeType="*/*"/>
      </staticTypes>
     </httpCompression>
    [...]
    </system.webServer>
    

    As it seems the azure portal does not give me any option to change compression.

    What do I need to do to enable compression or is it only possible when using a Vserver in azure?

  • edesr
    edesr about 8 years
    Hi Peter, I changed the web.config (updated my post) with the sample you provided. I checked the result and compression isn't working. Is it correct to add the httpCompression tag inside the system.webServer tag?
  • Darren
    Darren almost 8 years
    The above information is correct, however it doesn't work for me either, did you ever get it to work?
  • Old fart
    Old fart almost 8 years
    I believe this above is for Websites only
  • code-assassin
    code-assassin almost 7 years
    I had the same issue on an Azure Web App using the same configuration like yours but it seemed not to work. I left it for some time refreshed the page at it worked. I guess it might have been some caching issue somewhere. Also I removed the application/json mime type from the statictypes section. I don't want the server serving me a cached version because most often they are results of controller actions fetched from a database. You can check this link for more information iis.net/configreference/system.webserver/httpcompression
  • Pablo Jomer
    Pablo Jomer over 6 years
    I have the same issue no solution in sight.
  • Lyubomir Ivanov Valchev
    Lyubomir Ivanov Valchev almost 4 years
    @code-assassin I am having the same issue with my website on Azure. Any additional advise other than what you already said?