Symptom

En server som kör Microsoft Forefront Threat Management Gateway (TMG) 2010 slutar acceptera nya anslutningar på en viss Webbproxy eller webblyssnare. Detta problem kan uppstå när flera timmar till flera dagar av upptiden.

Orsak

Det här problemet uppstår när TMG slutar acceptera nya anslutningar på web listener. Detta fyller snart eftersläpning kön för extra funktion drivrutin (AFD) socket. När eftersläpning kön är full, startar servern att återställa nya inkommande anslutningar. Om du övervakar servern med hjälp av Network Monitor i den här situationen kan det hända att en SYN ACK/RST mönster för varje ny anslutningsförsöket.

Lösning

Lös problemet genom att installera samlad 5 för Forefront Threat Management Gateway (TMG) 2010 Service Pack 2.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Mer Information

När du har installerat Samlad 5 måste du aktivera funktionen tid ut inaktiv acceptera samtal. Gör så här:

  1. Kopiera följande skript i anteckningar och sedan spara filen som SetAcceptIdleTimeout.vbs:

    'Define the constants needed.Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"
    Const strVpsPropertyName = "AcceptIdleTimeout"
    Const Error_FileNotFound = &H80070002
    Set objArgs = wscript.Arguments
    if objArgs.Count > 0 then
    uAcceptIdleTimeout = objArgs(0)
    end if
    if objArgs.Count <> 1 then
    wscript.echo "Usage: SetAcceptIdleTimeout.vbs <timeout>"
    wscript.echo
    wscript.echo "Set async accept timeout to <timeout> value (in sec)"
    wscript.echo "To disable async accept timeout set it to 0"
    wscript.Quit 2
    end if
    set objArray = CreateObject("FPC.Root").GetContainingArray()
    Set objVPSet = OpenVPSet(objArray, strVpsGUID)
    objVPSet.Value(strVpsPropertyName) = uAcceptIdleTimeout
    objArray.Save()
    objArray.RestartServices(1)
    function OpenVPSet(objParent, strVpsGUID)
    Set objVPSets = objParent.VendorParametersSets
    On Error Resume Next
    Set OpenVPSet = objVPSets.Item(strVpsGUID)
    ' Save the Err properties in case it needs to be re-raised
    errNumber = Err.Number
    errSource = Err.Source
    errDescription = Err.Description
    errHelpFile = Err.HelpFile
    errHelpContext = Err.HelpContext

    On Error GoTo 0

    if errNumber = Error_FileNotFound Then
    Set OpenVPSet = objVPSets.Add(strVpsGUID)
    Elseif errNumber < 0 Then
    ' An error other than "file not found" occurred -- re-raise the error,
    ' this time not under "On Error Resume Next"
    Err.Raise errNumber, errSource, errDescription, errHelpFile, errHelpContext
    End If
    end function


  2. Kör skriptet på en TMG-Server. Kör följande från en kommandotolk med administrativa t ex att ställa in timeout-perioden till 5 minuter:

    cscript.exe SetAcceptIdleTimeout.vbs 300
  3. Starta om brandväggstjänsten på alla matrismedlemmar om du vill göra den här ändringen börjar gälla.


Kör följande kommando för att ange inaktiv timeout-värdet till 0 om du vill ångra ändringen:

cscript.exe SetAcceptIdleTimeout.vbs 0


Referenser

Lär dig mer om den terminologi som Microsoft använder för att beskriva programuppdateringar.

Behöver du mer hjälp?

Utöka dina kunskaper

UTFORSKA UTBILDNING >

Få nya funktioner först

ANSLUT TILL MICROSOFT INSIDERS >

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?

Tack för din feedback!

×