So in an attempt at High(er)-availability I setup a proxy server load balance on my IIS7 Web Farm. I debated between using NLB or ISA, I have always been an ISA fan since back in the 2.0 days, so I went with it. However about once a week all of the websites being served with ISA report a 500 error. I am using a fully patched ISA 2006 server on a 2003 R2 SP2 machine. I noticed in the application event logs, this: Event ID: 23006
Description:The Compression filter cannot handle a response because the allocated memory currently used for compression reached its limit. The memory allocated for compression is specified by the following registry values under the HKLM\Software\Microsoft\RAT\Stingray\Debug\W3Filter key: COMPRESS_MEMORY_ALLOC_MBYTES (by default, 256) and COMPRESS_MEMORY_POOL_BLOCKS (by default, 200).
To resolve this I went into the general tab at the bottom of ISA manager and disabled HTTP Compression, but I did find a KB article about this bug. http://support.microsoft.com/kb/947521