IIS HTTP compression w/ gzip wasn’t working

I had followed the rather simple commands as per the microsoft KB article here:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/502ef631-3695-4616-b268-cbe7cf1351ce.mspx?mfr=true

The server was still not compressing anything and the temporary compression directory remained empty. This was really frustrating, until I ran across this article:

http://panvega.wordpress.com/2008/09/22/http-compression-in-iis/

There is an extra step that technet seems to have forgotten. The above site nails it:

IIS 6′s new security system prohibits ISAPI DLLs from running by default, so you need to tell IIS 6 that it’s okay to let the compression ISAPI DLL run.

  1. Open the IIS admin tool (inetmgr); drill into your server, and right-click on “Web Service Extensions”
  2. Choose “Add a new web service extension”. For the extension name, use whatever you want to identify it in the list (I used “HTTP Compression Extension”).
  3. You need to add a single required file, which is \Windows\System32\inetsrv\gzip.dll, the ISAPI responsible for doing gzip and deflate compression.
  4. Check the “Set extension status to allowed”, then click OK.
  5. You should have a new web service extension in your list called “HTTP Compression”, and it should have a status of “Allowed”.