[200 OK]: A Port80 Software Blog

We're all 200 OK: Web, HTTP and IIS Insights
posts - 203, comments - 416, trackbacks - 99

Really Getting ISA and HTTP Compression to Work Together

Microsoft's Internet Security and Acceleration Server or ISA is a great security gateway and proxy for IIS Web servers.  Unfortunately, ISA is not compatible by default with origin server compression, whether you are running httpZip or native compression on IIS 6, managed by ZipEnable.  ISA strips the Accept-Encoding header from the browser request, and thus the origin server (or compression software) does not respond with compressed content.

We have forwarded folks to this Microsoft knowledge base article on how to overcome this issue on ISA 2004 (http://support.microsoft.com/default.aspx?scid=kb;en-us;838365), but the actual solution is not provided, only directions on how one may go about fixing this issue...

Velaro.com (makers of Live Help and Live Support chat software) has developed a script that worked on their ISA deployment to let the Accept Encoding header pass through on a client request, thus making ISA 2004 compatible with httpZip, ZipEnable and IIS compression in general on the origin server – they are running IIS 6 compression with ZipEnable for a Web-based app, with a focus on bandwidth reduction.

Here is their code to get origin server compression going with an ISA gateway:

Create a file with a .vbs extension, and put the following code in it:

ruleName = WScript.Arguments(0)
Set FW = CreateObject ("FPC.Root")
Set myRule = FW.GetContainingArray.ArrayPolicy.PolicyRules.Item (ruleName)
myRule.WebPublishingProperties.SendAcceptEncodingHeader = True
myRule.Save
WScript.Echo "Settings changed for " & ruleName

Save that file, (ex: change.vbs), then from a command prompt enter:

change.vbs rulename

Where rulename is the rule they want to allow that through, so for example:

change.vbs site1.domain.com

Would enable the virtual server site1.domain.com to receive the proper Accept Encoding header in a request from a browser that can handle compressed content with the site on an IIS Web server behind an ISA gateway.

Use this script at your discretion, but let us know how this fix works for your ISA/IIS compression solution.

Cheers,
Port80

posted on Tuesday, October 25, 2005 2:40 PM

Feedback

# re: Really Getting ISA and HTTP Compression to Work Together

Since ISAServer supports a form of ISAPI, can't you just create a version of HTTPZIP which will run on it and offload the compression task from a published web server?
12/8/2005 1:28 PM | Tom Kagan

# re: Really Getting ISA and HTTP Compression to Work Together

This approach is valuable in certain contexts, especially when you do not have CPU cycles to spare on the origin servers (IIS or otherwise).

However, most well-conceived Web server systems do have CPU to spare at the origin server except under the most extreme, dire scenarios, such as a DoS attack. So, we recommend using httpZip or ZipEnable with its good buddy, IIS 6 native compression, to get the task done.

If more customers want an ISA httpZip solution, please do let us know by chiming in here or emailing us at info@port80software.com, and we will work it into Port80's development schedule.
12/8/2005 3:06 PM | Chris @ Port80

# re: Really Getting ISA and HTTP Compression to Work Together

I, for one, think you should do it. Currently, if you setup ISA Server 2004 to pass HTTP compression through it, you lose its ability to inspect the information passing through and, thus, reduce security.

Port80 is perfectly positioned to implement this. The reasons:

1. With IIS 6.0 and ZipEnable, the market for HTTPZip is shrinking every day. Extending support for an ISA Server config would breathe new life into the HTTPZip product.

2. There is currently no possible way to make compression work through ISA Server 2000 via Web Publishing. HTTPZip could fill this annoying gap between ISA Server versions 2000 and 2004 by creating a version which would run on ISA Server 2000 and fix this deficiency.

3. ISA Server 2000 and 2004 support ISAPI (slightly different APIs, though). From a development standpoint, it would seem to be incredibly straightforward to adapt the HTTPZip architecture to run on ISA Server in a very short time frame.

4. You have competitors charging ridiculous money to implement compression on ISA Server. Your product, by comparison, is not only better, but would significantly undercut their prices.

5. There is an open source version of HTTP compression ISAPI filter for ISA Server. However, many companies would much prefer a commercial product backed by the good support and full browser sniffing features available from your company.
12/14/2005 10:37 AM | Tom Kagan

# re: Really Getting ISA and HTTP Compression to Work Together

Tom and Port80 Folks,

The Port80 management team won't be a Scrooge (or ever, when it comes to IIS and Web dev tools) with this, but you won't get httpZip ISA support in time Christmas this year. We are hard at work on httpZip.NET, and perhaps we can develop an ISA version next year.

FYI, Tom, there are many advanced compression features that companies, especially larger enterprises with complex systems, want in IIS 6 compression that Microsoft has not delivered -- this is why we built ZipEnable and why httpZip is still the best choice for advanced IIS compression beyond the IIS 6.0 built-in code -- check out these powerful features beyond native IIS 6 compression:

http://www.port80software.com/products/httpzip/faq#HZonIIS6

httpZip is not on the way out. Rather, as Web sites and apps get more complex and speed/bandwidth become a bigger priority, httpZip and HTTP compression are more in demand... or so our customers tell us!

However, we have heard the public loud and clear on ISA and Zip, so if other readers want to add their voice here, please do so. We appreciate your feedback and are on the case to make the best IIS tools on the market for a low cost -- tools that get the job done for your Web systems.

- Chris @ Port80
12/15/2005 3:02 PM | Chris @ Port80

# re: Really Getting ISA and HTTP Compression to Work Together

I have been waiting for another company to release their ISA compression for quite a while. First one with a stable version gets my business!
1/26/2006 12:53 PM | JS

# re: Really Getting ISA and HTTP Compression to Work Together

Will your product add more functionality than the newly released SP2 feature...

HTTP Compression
HTTP compression allows ISA Server to request compressed content, and serve compressed content from its Web cache to clients. This enables faster serving of Web pages, which may be useful in branch office scenarios where clients access Web applications over slow links.
2/2/2006 6:25 AM | JS

# re: Really Getting ISA and HTTP Compression to Work Together

Yes, Port80 also is aware of this release and knew that ISA would have compression at some point... one reason httpZip and ISA have not met yet.

More to come,
Chris @ Port80
2/2/2006 9:29 AM | Chris @ Port80

# ISA 2004 SP2 gets HTTP Compression!!!

# ISA 2004 SP2 gets HTTP Compression!!!

# re: Really Getting ISA and HTTP Compression to Work Together

ISA 2004 SP2 now does support compression -- see http://www.port80software.com/200ok/archive/2006/02/03/977.aspx.

Cheers,
Chris @ Port80
2/3/2006 2:28 PM | Chris @ Port80

# ISA Compression Round-Up (and Next Steps)

2/15/2006 12:40 PM | [200 OK]: A Port80 Software Blog

# ISA Compression Round-Up (and Next Steps)

2/15/2006 12:41 PM | [200 OK]: A Port80 Software Blog

# re: Really Getting ISA and HTTP Compression to Work Together

I use ISA! Great!
5/20/2006 1:45 AM | aaz

# re: Really Getting ISA and HTTP Compression to Work Together

Anyone here can give me some idea about the effectiveness of ISA..? Thanks
4/11/2008 6:27 PM | WONG SEO-UL

Post Comment

Title:  
Name:  
Url:  
Comment:  
Verify:
(Enter the word as it appears in the box above.)