La respuesta "401 Authentication Required" que envía un sitio Web se descarta cuando se utiliza ISA Server 2004 o ISA Server 2006 como proxy web


Síntomas


Imagine la siguiente situación:
  • Utilice Microsoft Internet Security and Acceleration (ISA) Server 2004 o ISA Server 2006 como proxy web para acceder a un sitio Web.
  • Realizar una operación POST en el sitio Web.
  • El sitio Web envía una respuesta "401 Authentication Required" al cliente.
Sin embargo, el servidor ISA cae la respuesta de la "autenticación 401 requerida" en vez de remitir la respuesta al cliente. Este problema puede provocar un error en el intento de acceso Web. Por ejemplo, cuando intenta cargar un archivo grande en el sitio Web, la operación de carga puede agotar el tiempo de espera.

Solución


Para resolver este problema, siga estos pasos:
  1. Si está ejecutando ISA Server 2004, aplique el paquete de hotfix que se describe en el siguiente artículo de Microsoft Knowledge Base:
    940709 Descripción del paquete de revisiones de ISA Server 2004: 25 de julio de 2007
    Si está ejecutando ISA Server 2006, aplique el último Service Pack de ISA Server. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    954258 Cómo obtener el último Service Pack de Internet Security and Acceleration (ISA) Server 2006
  2. Inicie el Bloc de notas.
  3. Copie el código siguiente y, a continuación, péguelo en el Bloc de notas.
    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
  4. Guarde el archivo como un archivo de script de Microsoft Visual Basic mediante la extensión de nombre de archivo .vbs. Por ejemplo, utilice el siguiente nombre para guardar el archivo:
    AllowPrematureServerResponse.vbs
  5. Inicie un símbolo del sistema, cambie a la ubicación en la que guardó el archivo AllowPrematureServerResponse.vbs y, a continuación, ejecute el siguiente comando:
    cscript AllowPrematureServerResponse.vbs

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

Más información


Para obtener más información acerca de cómo instalar revisiones y actualizaciones de ISA Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
885957 Cómo instalar revisiones y actualizaciones de ISA Server