Microsoft KB Archive/927263

= ISA Server 2004 blocks requests that include the Accept-Encoding HTTP header when a forward proxy is used =

Article ID: 927263

Article Last Modified on 12/4/2007

-

APPLIES TO

 Microsoft Internet Security and Acceleration Server 2004 Standard Edition Service Pack 2, when used with:  Microsoft Internet Security and Acceleration Server 2004 Standard Edition

 Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition 

-



SYMPTOMS
On a server that is running Microsoft Internet Security and Acceleration (ISA) Server 2004 with Service Pack 2, you disable the following two Web filters:
 * Compression Filter
 * Caching Compressed Content Filter

After you do this, ISA Server 2004 blocks requests that include the Accept-Encoding HTTP header when a forward proxy is used.

These Web filters were introduced in ISA Server 2004 Service Pack 2. You might disable these Web filters because of program compatibility problems that involve some Web servers.



Service pack information
To resolve this problem, install ISA Server 2004 Service Pack 3 (SP3), and then run the Microsoft Visual Basic script that is mentioned in this section. For more information about how to obtain the latest ISA Server 2004 service pack, click the following article number to view the article in the Microsoft Knowledge Base:

891024 How to obtain the latest ISA Server 2004 service pack

After you install the service pack, run the following script to enable a new configuration parameter. This new parameter lets ISA Server forward requests that include the Accept-Encoding HTTP header if the compression filters are disabled in a forward proxy scenario. To do this, follow these steps.

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.  Click Start, point to All Programs, point to Accessories, and then click Notepad.</li>  Paste the following code into the Notepad document. Const SE_VPS_GUID = &quot;{143F5698-103B-12D4-FF34-1F34767DEabc}&quot; Const SE_VPS_NAME = &quot;AccessRuleSendAcceptEncodingHeader&quot; Const SE_VPS_VALUE = true

Sub SetValue

' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject(&quot;FPC.Root&quot;)

'Declare the other objects needed. Dim array      ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet  ' An FPCVendorParametersSet object

' Get references to the array object ' and the network rules collection. Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets

On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID )

If Err.Number <> 0 Then Err.Clear

' Add the item Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo &quot;New VendorSet added... &quot; & VendorSet.Name

Else WScript.Echo &quot;Existing VendorSet found... value- &quot; & VendorSet.Value(SE_VPS_NAME) End If

if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then

Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE

If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError

If Err.Number = 0 Then WScript.Echo &quot;Done with &quot; & SE_VPS_NAME & &quot;, saved!&quot; End If       End If    Else WScript.Echo &quot;Done with &quot; & SE_VPS_NAME & &quot;, no change!&quot; End If

End Sub

Sub CheckError

If Err.Number <> 0 Then WScript.Echo &quot;An error occurred: 0x&quot; & Hex(Err.Number) & &quot; &quot; & Err.Description Err.Clear End If

End Sub

SetValue </li> Save the Notepad file as &quot;AccessRuleSendAcceptEncodingHeader.vbs.&quot;</li> Double-click the .vbs file to run the script.</li></ol>

To disable the new configuration parameter, follow these steps: <ol> Click Start, point to All Programs, point to Accessories, and then click Notepad.</li>  Paste the following code into the Notepad document. Const SE_VPS_GUID = &quot;{143F5698-103B-12D4-FF34-1F34767DEabc}&quot; Const SE_VPS_NAME = &quot;AccessRuleSendAcceptEncodingHeader&quot; Const SE_VPS_VALUE = false

Sub SetValue

' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject(&quot;FPC.Root&quot;)

'Declare the other objects needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet  ' An FPCVendorParametersSet object ' Get references to the array object Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets

On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID )

If Err.Number <> 0 Then Err.Clear

' Add the item Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo &quot;New VendorSet added... &quot; & VendorSet.Name

Else WScript.Echo &quot;Existing VendorSet found... value- &quot; & VendorSet.Value(SE_VPS_NAME) End If

if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE

Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE

If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError

If Err.Number = 0 Then WScript.Echo &quot;Done with &quot; & SE_VPS_NAME & &quot;, saved!&quot; End If          End If

Else WScript.Echo &quot;Done with &quot; & SE_VPS_NAME & &quot;, no change!&quot;

End If

End Sub

Sub CheckError

If Err.Number <> 0 Then WScript.Echo &quot;An error occurred: 0x&quot; & Hex(Err.Number) & &quot; &quot; & Err.Description Err.Clear End If End Sub

SetValue </li> Save the Notepad file as &quot;Disable_AccessRuleSendAcceptEncodingHeader.vbs.&quot;</li> Double-click the .vbs file to run the script.</li></ol>

<div class="status_section">

STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.

Keywords: kbtshoot kbprb kbexpertiseadvanced KB927263

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.