I have been unable to get GZIP compression working on my IIS7.5 server. I have tried all the suggestions online, including here at ServerFault and no matter what, the trace always comes back stating "COMPRESSION_DISABLED", but I don't know why it's disabled.
I have the following in my applicationHost.config:
<httpCompression directory="C:\inetpub\temp\IIS Temporary Compressed Files" minFileSizeForComp="2000">
<scheme name="gzip" dll="C:\Windows\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="*/*" enabled="true" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<urlCompression />
My DefaultAppPool.config:
<urlCompression dynamicCompressionBeforeCache="true" />
<httpCompression directory="C:\inetpub\temp\IIS Temporary Compressed Files" doDiskSpaceLimiting="false" maxDiskSpaceUsage="1000" minFileSizeForComp="0" noCompressionForHttp10="false" noCompressionForProxies="false" noCompressionForRange="false" staticCompressionEnableCpuUsage="80" dynamicCompressionEnableCpuUsage="80">
<dynamicTypes>
<add mimeType="*/*" enabled="true" />
<add mimeType="text/html" enabled="true" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
Every option in the IIS manager I've looked at shows compression enabled. Some stuff is coming back compressed, but it's only PHP content that PHP has compressed before handing it off to IIS.
According to the traces, all the requests are hitting the Static or DynamicCompressionModule but it's always failing as "COMPRESSION_DISABLED". Is there any way beyond the tracing to determine why IIS is disabling the compression?
I've run the command
appcmd list config "http://example.com/index.html"
to see the complete configuration for that URL, and according to the dumped configuration, the HTTP and URL compression settings shown above are incorporated and there's no mention of disabling compression.
Is it possible another module is causing compression to be disabled? Output caching?
So I'm pretty stumped here on what could be the problem.
I don't see doDynamicCompression or doStaticCompression=true listed there; are they set? If so, at what level?