Симптоми
Да разгледаме следния сценарий:
-
Достъп до уеб сайт, който се публикува в Microsoft Internet Security and Acceleration (ISA) Server 2004. Или отворите уеб сайт с помощта на ISA Server 2004 като уеб прокси.
-
Компресиране филтър уеб филтърът е разрешен в ISA Server 2004.
-
Уеб сайтът изпраща HTTP 0.9 отговор на клиента.
При този сценарий получавате едно от следните съобщения за грешка. Съобщение за грешка 1
HTTP/1.1 502 Proxy Error (посоченото мрежово име вече не е на разположение.)
Съобщение за грешка 2
Код на грешка 64: Домакин не availableBackground: шлюз или прокси сървър загубена връзка с уеб сървър.
Причина
HTTP 0.9 отговор е само тяло, но не заглавки. Уеб сайта на затваря връзката да се показват в края на отговор. Обаче компресия филтър уеб филтъра в ISA Server очаква HTTP/1.0 или HTTP/1.1 отговор. Компресиране филтър за уеб филтър не разпознава HTTP 0.9 отговор. Затова компресия уеб филтър филтър предполага, че връзката е загубена или възстановите преди сайт може да изпрати всички заглавки на HTTP отговор.
Решение
За да разрешите този проблем, изпълнете следните стъпки:
-
Приложете пакета с актуални корекции, който е описан в следната статия от базата знания на Microsoft:
945043 описание на пакета с актуални корекции ISA Server 2004: 12 ноември 2007 г.
-
Стартирайте Notepad.
-
Копирайте следния код и след това го поставете в Notepad.
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.
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".