Проблемы

На сервере под управлением Microsoft Internet Security and Acceleration (ISA) Server 2004 с пакетом обновления 2 (SP2) или Windows Essential Business Server 2008 отключите следующие два веб-фильтра:

  • Фильтр сжатия

  • Кэширование сжатого фильтра содержимого

После этого ISA Server 2004 или Windows Essential Business Server 2008 блокирует запросы, которые включают заголовок HTTP Accept-Encoding при использовании прокси-сервера пересылки.Эти веб-фильтры появились в ISA Server 2004 с пакетом обновления 2 (SP2) или Windows Essential Business Server 2008. Эти веб-фильтры могут быть отключены из-за проблем совместимости программ, которые связаны с некоторыми веб-серверами.

Решение

Сведения о пакете обновления

Чтобы устранить эту проблему, установите ISA Server 2004 с пакетом обновления 3 (SP3), а затем запустите сценарий Microsoft Visual Basic, упомянутый в этом разделе.После установки пакета обновления выполните следующий скрипт, чтобы включить новый параметр конфигурации. Этот новый параметр позволяет ISA Server пересылать запросы, включающие заголовок HTTP Accept-Encoding, если фильтры сжатия отключены в сценарии прямого прокси-сервера. Для этого выполните следующие действия.Корпорация Майкрософт предоставляет примеры программирования только для иллюстраций без гарантий, выраженных или подразумеваемых. Это включает, помимо прочего, подразумеваемые гарантии товарной пригодности или пригодности для конкретной цели. В этой статье предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут помочь объяснить функциональные возможности конкретной процедуры. Однако они не будут изменять эти примеры для предоставления дополнительных функциональных возможностей или создания процедур в соответствии с вашими конкретными требованиями.

  1. Нажмите кнопку Пуск, выберите Пункт Все программы, Стандартные и Блокнот.

  2. Вставьте следующий код в документ Блокнот.

    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. Сохраните файл Блокнота как "AccessRuleSendAcceptEncodingHeader.vbs".

  4. Дважды щелкните VBS-файл, чтобы запустить скрипт.

Чтобы отключить новый параметр конфигурации, выполните следующие действия.

  1. Нажмите кнопку Пуск, выберите Пункт Все программы, Стандартные и Блокнот.

  2. Вставьте следующий код в документ Блокнот.

    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. Сохраните файл Блокнота как "Disable_AccessRuleSendAcceptEncodingHeader.vbs".

  4. Дважды щелкните VBS-файл, чтобы запустить скрипт.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.