В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

ИСПРАВИТЬ: Может произойти сбой запросы POST для веб-сервера, на котором работает Forefront угроз управления шлюзом 2010

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:2596444
Проблема
Рассмотрим следующий сценарий:
  • У вас есть сервер, на котором выполняется Microsoft Forefront угроз управления шлюза (TMG) 2010.
  • TMG сервер настроен как веб-сервер.
  • Веб-прослушиватель TMG использует проверку подлинности на основе форм с помощью делегирование NTLM для опубликованного веб-сервера.
  • Имеются запросы POST для веб-сервер TMG.
В этом случае запросы POST может произойти сбой. Это может вызвать различные проблемы приложения, которые зависят от вида запросов POST, которые не прошли.
Причина
Эта проблема возникает, если выполняются следующие условия:
  • Используется проверка подлинности на основе форм TMG.
  • В правиле публикации TMG для делегирования проверки подлинности опубликованного веб-сервере настроено делегирование NTLM.
  • ISA отправляет запрос к веб-сервер уже прошедшее проверку подключение.
  • Веб-сервер отвечает с 401.
При использовании делегирование NTLM TMG выполняет проверку подлинности подключения к веб-серверу при первом запросе веб-сервер на этом соединении. Таким образом, чтобы последующие запросы не требуется повторная проверка подлинности, проверка подлинности сохраняется на подключение.

Если запрос отправляется на веб-сервер на уже проверенного подключения, веб-сервер может отвечать на запросы с неожиданный запрос проверки подлинности 401. Эта проблема может возникнуть запросы обслуживаются в разных пулах приложений на веб-сервере, так как IIS не сохраняться проверки подлинности пулы приложений.

При использовании проверки подлинности на основе форм, TMG будет обрабатывать 401 неожиданный запрос, добавив тег AuthResend URL-адрес и перенаправление пользователя на исходно запрошенный ресурс. Когда клиент создает второй запрос, TMG определяет, что запрос требует повторной проверки подлинности, тег AuthResend и затем удаляет тег AuthResend перед отправкой запроса на веб-сервер.

Однако перенаправление не включает метод HTTP, и клиент сделает запрос GET после перенаправления. Таким образом запрос POST и тела POST не отправляются на веб-сервер.

Средства, такие как Strace, ее или Fiddler можно использовать на стороне клиента для определения, будет ли TMG отправляет перенаправлений с меткой AuthResend в ответ на запросы POST. Например, перенаправление для запроса на URL-адрес http://domain/test.asp будет следующим: http://domain/test.asp&authResendNNN

Журналов TMG веб-прокси не показывать тег AuthResend, поскольку тег удаляется из URL-адреса перед URL-адрес отправляется на веб-сервере и таким образом не регистрируется.

Такое поведение может наблюдаться для запросов GET. Тем не менее поведение не вызовет проблемы, поскольку перенаправление будет повторную как запрос GET, и это не вызовет ту же проблему.
Решение
Внутреннее значение, которое может быть установлено на правила публикации сообщить TMG автоматически повторной проверки подлинности запросов не GET не существует. Это позволяет избежать непредвиденных 401 запросы от веб-сервера.

По умолчанию в пакет обновления 2 (SP2) TMG эта функция включена на веб-публикации правил, проверку подлинности на основе форм на веб-прослушиватель, и который использует делегирование NTLM.

Чтобы устранить эту проблему, пакет обновления, описанного в следующей статье Microsoft Knowledge Base:
2555840 Описание пакета обновления 2 для управления угрозами Microsoft Forefront шлюза 2010

Статус
Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Относится к».
Дополнительная информация
Для решения этой проблемы на ISA 2006 или TMG без пакета обновления 2, можно использовать следующий сценарий для установки внутреннего параметра в правиле публикации указанный веб-узел. По умолчанию это параметр, который включает пакет обновления 2 (SP2) TMG.

Чтобы использовать сценарий, скопируйте в Блокнот и сохраните его как файл .vbs на один из элементов массива.

Измените следующую строку сценария, заменяя ReplaceRuleNameHere с именем соответствующего правила веб-публикации:
argRuleName = "ReplaceRuleNameHere"
Затем запустите следующий сценарий на одном из членов массива в массив:
argRuleName = "ReplaceRuleNameHere"argParamName = "SendLogonOn401"argVal = "true"Set rule = CreateObject("FPC.Root").GetContainingArray.ArrayPolicy.PolicyRules.Item(argRuleName)Set VendorSets = rule.VendorParametersSetsOn Error Resume NextSet VendorSet = VendorSets.Item( "{5e302ed5-f5d5-4fad-9b8a-01c72e1569f3}" )If Err.Number <> 0 ThenErr.ClearSet VendorSet = VendorSets.Add( "{5e302ed5-f5d5-4fad-9b8a-01c72e1569f3}" )CheckErrorWScript.Echo "No existing VendorSet."ElseWScript.Echo "Existing VendorSet found. Values in it:"for each name in VendorSet.allNamesWScript.Echo " ", name, "=", VendorSet.Value(name)nextWScript.Echo "-------------------------------------"End IfOn Error GoTo 0On Error Resume NextvalType = "Int" : Val = CInt(argVal)If Err.Number <> 0 ThenErr.ClearvalType = "Boolean" : Val = CBool(argVal)If Err.Number <> 0 ThenErr.ClearvalType = "String" : Val = CStr(argVal)End IfEnd IfWScript.Echo "Setting", argParamName, "=", Val, "(type=" & valType & ")"VendorSet.Value(argParamName) = ValVendorSet.SaveSub CheckError()If Err.Number <> 0 ThenWScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.DescriptionErr.ClearEnd IfEnd Sub
Ссылки
Для получения дополнительных сведений о терминологии, обновления программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

NTLM TMG ISA FBA форм делегирования POST

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 2596444 — последний просмотр: 10/17/2011 19:36:00 — редакция: 1.0

Microsoft Forefront Threat Management Gateway 2010 Enterprise, Microsoft Forefront Threat Management Gateway 2010 Standard, Microsoft Forefront Threat Management Gateway 2010 Service Pack 1

  • kbfix kbbug kbexpertiseinter kbsurveynew kbmt KB2596444 KbMtru
Отзывы и предложения
dy>