Ознаки
Розглянемо таку ситуацію:
-
Вам отримати доступ до веб-сайту, опублікованого в Microsoft Internet Security and Acceleration (ISA) Server 2004. Або доступ до веб-сайту за допомогою ISA Server 2004, як веб-проксі.
-
Стискання фільтр веб-фільтр увімкнуто, ISA Server 2004.
-
На веб-сайті, надсилає відповідь на HTTP/0,9 клієнта.
У цьому випадку з'являється одне з таких повідомлень про помилку. Повідомлення про помилку 1
HTTP/1.1 помилка проксі-сервера 502 (вказане мережне ім'я вже недоступне.)
Повідомлення про помилку 2
Код помилки 64: Розміщення, не в availableBackground: шлюз або проксі-сервер, втрачено підключення до веб-сервера.
Причина
З HTTP/0,9 Відповідь, має лише тіло, але без заголовків. Веб-сайт буде закрито, підключення до вказують у кінці відповідь. Проте, стискання фільтр веб-фільтр у ISA Server очікує HTTP/1.0 або HTTP/1.1 відповідь. Стискання фільтр веб-фільтр не розпізнає з HTTP/0,9 відповідь. Таким чином, стискання фільтр веб-фільтр припускається, що підключення втрачені або скидання, перш ніж на веб-сайті можна надіслати всі заголовки відгуку HTTP.
Спосіб вирішення
Щоб вирішити цю проблему, виконайте такі дії.
-
Інсталюйте пакет виправлень, описане в такій статті бази знань Майкрософт:
Опис пакета виправлень ISA Server 2004 945043 : 12 листопада 2007 р.
-
Відкрийте Блокнот.
-
Скопіюйте наведений нижче код і вставте його в текстовий файл.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "EnableHotfix944114"Const SE_VPS_VALUE = trueSub SetValue() ' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other required objects. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and to 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 IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue
-
Збережіть файл як файл сценарію Microsoft Visual Basic, за допомогою розширення імені файлу. vbs. Наприклад, скористайтеся таку назву для збереження файлу.
EnableHotfix944114.vbs
-
У командному рядку, змінити розташування, де збережено файл у кроці 4 і запустіть таку команду:
cscript EnableHotfix944114.vbs
Примітка. Щоб відновити настройки за промовчанням, редагувати сценарій, змінивши "Const SE_VPS_VALUE = true" на "Const SE_VPS_VALUE = false." Збережіть сценарій і запустіть його знову.
Інші способи вирішення
Вирішити цю проблему, вимкніть стискання фільтр веб-фільтр у ISA Server.
Стан
Корпорація Майкрософт підтвердила існування цієї неполадки у продуктах Майкрософт, перелічених у розділі "Застосовується до".