没有搜索正文的 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 = true
    
    Sub 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 If
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetValue
    
    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 软件更新的标准术语的说明

属性

文章编号: 945882 - 最后修改: 2008年1月4日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
关键字:?
kbmt kbexpertiseinter kbqfe KB945882 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 945882
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com