La réponse « 401 Authentification requise » envoyée par un site Web est supprimée lorsque vous utilisez ISA Server 2004 ou ISA Server 2006 comme proxy Web


Symptômes


Prenons l’exemple du scénario suivant :
  • Vous utilisez Microsoft Internet Security and Acceleration (ISA) Server 2004 ou ISA Server 2006 comme proxy Web pour accéder à un site Web.
  • Vous effectuez une opération POST sur le site Web.
  • Le site Web envoie une réponse « 401 authentification requise » au client.
Toutefois, ISA Server supprime la réponse « 401 Authentification requise » au lieu de transmettre la réponse au client. Ce problème peut provoquer l'échec de la tentative d'accès Au Web. Par exemple, lorsque vous essayez de télécharger un fichier volumineux sur le site Web, l'opération de téléchargement peut s'éteigner.

Résolution


Pour résoudre ce problème, suivez les étapes suivantes :
  1. Si vous exécutez ISA Server 2004, appliquez le paquet hotfix qui est décrit dans l'article suivant Microsoft Knowledge Base :
    940709 Description du paquet de hotfixing ISA Server 2004 : 25 juillet 2007
    Si vous exécutez ISA Server 2006, appliquez le dernier pack de service ISA Server. Pour plus d'informations, cliquez sur le numéro d'article suivant pour voir l'article dans la base de connaissances Microsoft :
    954258 Comment obtenir le dernier pack de service Serveur 2006 de la Sécurité et de l'Accélération D'Internet (ISA)
  2. Démarrer Notepad.
  3. Copiez le code suivant, puis collez-le dans Le bloc-notes.
    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. Enregistrez le fichier en tant que fichier de script Microsoft Visual Basic en utilisant l'extension de nom de fichier .vbs. Par exemple, utilisez le nom suivant pour enregistrer le fichier :
    AllowPrematureServerResponse.vbs
  5. Démarrez une invite de commande, modifiez l'emplacement auquel vous avez enregistré le fichier AllowPrematureServerResponse.vbs, puis exécutez la commande suivante :
    cscript AllowPrematureServerResponse.vbs

Statut


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Informations supplémentaires


Pour plus d'informations sur la façon d'installer les hotfixes et mises à jour ISA Server, cliquez sur le numéro d'article suivant pour afficher l'article dans la base de connaissances Microsoft :
885957 Comment installer des correctifs et des mises à jour ISA Server