Проблемы
Рассмотрим следующий сценарий.
-
Вы используете сервер Microsoft Internet Security and Acceleration (ISA) 2004 или ISA Server 2006 в качестве веб-прокси для доступа к веб-узле.
-
Вы выполняете операцию POST на веб-узле.
-
Веб-узел отправляет клиенту ответ «401 проверка подлинности».
Тем не менее, ISA Server отбрасывает ответ «401 Authentication Required» вместо пересылки ответа клиенту. Эта проблема может привести к сбою в попытке доступа к Веб-сети. Например, при попытке загрузить большой файл на веб-узел операция загрузки может быть временной.
Решение
Чтобы устранить эту неполадку, выполните следующие действия:
-
Если вы работаете под управлением ISA Server 2004, примените пакет hotfix, описанный в следующей статье Microsoft Knowledge Base:
940709 Описание пакета hotfix СЕРВЕРа ISA 2004: 25 июля 2007Если вы работаете под управлением ISA Server 2006, примените последний пакет служб ISA Server. Для получения дополнительной информации, нажмите на следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:
954258 Как получить новейший пакет услуг По безопасности и ускорению интернета (ISA) Server 2006
-
Запустите программу Блокнот.
-
Скопируйте следующий код, а затем вставьте его в блокнот.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "AllowPrematureServerResponse"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 objects that are needed. 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. Например, используйте следующее имя для сохранения файла:
AllowPrematureServerResponse.vbs
-
Запустите запрос команды, измените место, в котором вы сохранили файл AllowPrematureServerResponse.vbs, а затем запустите следующую команду:
cscript AllowPrematureServerResponse.vbs
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Для получения дополнительной информации о том, как установить hotfixes и обновления ISA Server, нажмите на следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
885957 Как установить горячие фиксы и обновления сервера ISA