IIS compression overrides the VARY header

***Update for December 17, 2013***This issue is now fixed with an official update patch for multiple versions of Windows. To download the update, click here

**************************************

It was recently discovered by one of our customers, 51Degrees, that IIS has an issue where if content compression and caching are both enabled, IIS will overwrite the VARY header. When this happens, this affects caching behavior, making it ineffective. This behavior will be addressed in a future version of IIS, but until then, 51Degrees have developed a work-around for this. The workaround entails creating two custom modules for IIS, which are able to store and recover the value of the VARY header after it gets overwritten.

James from 51Degrees wrote a detailed guide for this on the company blog, so it might be useful for others as well (as well as anyone who needs to develop custom modules for IIS).