Symptom
Tänk dig följande situation:
-
Du kan använda Microsoft Internet Security and Acceleration (ISA) Server 2004 eller ISA Server 2006 som en webbproxy för att komma åt en webbplats.
-
Du utför en POST-åtgärd på webbplatsen.
-
Webbplatsen skickar en "401 autentisering krävs" svar till klienten.
Men ISA Server släpper svaret "401 autentisering krävs" i stället för att vidarebefordra svaret till klienten. Det här problemet kan orsaka webbåtkomst försöket misslyckas. När du till exempel försöker överföra en stor fil till webbplatsen kan uppladdnings åtgärden timeout.
Lösning
Lös problemet så här:
-
Om du kör ISA Server 2004 gäller snabbkorrigeringspaketet som beskrivs i följande artikel i Microsoft Knowledge Base:
940709 Beskrivning av snabbkorrigeringspaket för ISA Server 2004:25 juli 2007Om du kör ISA Server 2006 ska du använda den senaste Service Pack-versionen för ISA Server. Om du vill veta mer klickar du på följande artikelnummer och visar artikeln i Microsoft Knowledge Base:
954258 hur du skaffar den senaste Internet Security and Acceleration (ISA) Server 2006 Service Pack
-
Starta anteckningar.
-
Kopiera följande kod och klistra in den i anteckningar.
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
-
Spara filen som en Microsoft Visual Basic-skriptfil med filnamnstillägget. vbs. Använd till exempel följande namn för att spara filen:
AllowPrematureServerResponse.vbs
-
Starta en kommandotolk, ändra till den plats där du sparade filen AllowPrematureServerResponse. vbs och kör sedan följande kommando:
cscript AllowPrematureServerResponse. vbs
Status
Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "gäller".
Mer information
Om du vill veta mer om hur du installerar snabbkorrigeringar och uppdateringar för ISA Server klickar du på följande artikelnummer och visar artikeln i Microsoft Knowledge Base:
885957 hur du installerar snabbkorrigeringar och uppdateringar för ISA Server