Help and Support

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

Article ID:927263
Last Review:December 4, 2007
Revision:1.2
On This Page

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.

Back to the top

RESOLUTION

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 (http://support.microsoft.com/kb/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.
1.Click Start, point to All Programs, point to Accessories, and then click Notepad.
2.Paste the following code into the Notepad document.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader"
Const SE_VPS_VALUE = true

Sub SetValue()

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

    '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 "New VendorSet added... " & VendorSet.Name

    Else
        WScript.Echo "Existing VendorSet found... value- " &  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 "Done with " & SE_VPS_NAME & ", saved!"
            End If
        End If
    Else
        WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
    End If

End Sub

Sub CheckError()

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

End Sub

SetValue
3.Save the Notepad file as "AccessRuleSendAcceptEncodingHeader.vbs."
4.Double-click the .vbs file to run the script.
To disable the new configuration parameter, follow these steps:
1.Click Start, point to All Programs, point to Accessories, and then click Notepad.
2.Paste the following code into the Notepad document.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}" 
Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader" 
Const SE_VPS_VALUE = false 

Sub SetValue() 

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

     '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 "New VendorSet added... " & VendorSet.Name 

     Else 
          WScript.Echo "Existing VendorSet found... value- " & 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 "Done with " & SE_VPS_NAME & ", saved!" 
                End If 
          End If 

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

     End If 

End Sub 

Sub CheckError() 

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

SetValue
3.Save the Notepad file as "Disable_AccessRuleSendAcceptEncodingHeader.vbs."
4.Double-click the .vbs file to run the script.

Back to the top

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Back to the top


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

Back to the top

Keywords: 
kbtshoot kbprb kbexpertiseadvanced KB927263

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.