没有搜索正文的 HTTP SEARCH 请求可能会发送到在 ISA Server 2006 年发布的 Web 服务器

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 945882
本文已归档。它按“原样”提供,并且不再更新。
症状
请考虑以下情形:
  • 在 Microsoft 网络安全和加速 (ISA) Server 2006 中发布 Web 服务器。
  • ISA 服务器 Web 侦听器配置为使用 HTTP 身份验证和验证用户凭据通过使用 Windows 集成身份验证 (Active Directory) 选项。
  • 一个用户可以使用 Windows Internet Explorer 访问 Web 服务器。
在这种情况下可能没有 SEARCH 正文的 HTTP SEARCH 请求发送到发布的 Web 服务器。此问题可能导致意外的 Web 访问行为。例如对于如果您在 ISA Server 2006 年发布 Microsoft Office Outlook Web Access,您可能会看到收件箱文件夹显示不正确。
原因
Internet Explorer 可能会发送一个不具有一个 HTTP 正文 NTLM 身份验证握手的第一部分中的 HTTP SEARCH 请求。如果已经过身份验证通过 ISA 服务器在 TCP 连接上发送的特定请求,ISA 服务器将继续使用当前的身份验证上下文,而不是 reauthenticating 客户端。在这种情况下没有 SEARCH 正文的搜索请求被发送到发布的 Web 服务器。
解决方案
若要解决此问题,请按照下列步骤操作:
  1. 应用以下 Microsoft 知识库文章中介绍了此修补程序包:
    945821ISA Server 2006 修补程序包的说明: 2007 年 12 月 5
  2. 启动记事本。
  3. 复制下面的代码,然后将其粘贴到记事本
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "EnablePOSTReauthentication"Const SE_VPS_VALUE = trueSub 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 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 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能。但是,他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。
  4. 将文件另存为 Microsoft Visual Basic 脚本文件。若要执行此操作使用.vbs 文件扩展名保存文件时。保存该文件,例如对于使用以下名称:
    EnableSEARCHReauthentication.vbs
  5. 启动一个命令提示符,切换到 EnableSEARCHReauthentication.vbs 文件的保存位置并再运行以下命令:
    cscript EnableSEARCHReauthentication.vbs
注意若要还原到默认设置,编辑脚本通过更改"Const SE_VPS_VALUE = true Const SE_VPS_VALUE 以 = 假"保存脚本,然后再运行它。
更多信息
此修补程序取代以下 Microsoft 知识库文章中描述的修复程序:
942638可能没有开机自检正文的 POST 请求发送到在 ISA Server 2006 年发布的 Web 服务器
942638 修补程序仅适用于 HTTP POST 请求。但是,此新的修补程序应用到所有的 HTTP 方法的 GET 方法除外。

本文介绍了使用 HTTP SEARCH 请求可能出现的问题。在 ISA 服务器发布 Outlook Web Access 时,通常会出现在当前的问题。但是,此修补程序也可能解决其他 HTTP 方法,可以包括一个 HTTP 正文的 GET 方法除外的类似的问题。
参考
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

警告:本文已自动翻译

属性

文章 ID:945882 - 上次审阅时间:01/16/2015 02:38:52 - 修订版本: 1.1

Microsoft Internet Security and Acceleration Server 2006 Standard Edition, Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition

  • kbnosurvey kbarchive kbmt kbexpertiseinter kbqfe KB945882 KbMtzh
反馈