Symptomer
En server som kjører Microsoft Forefront Threat Management Gateway (TMG) 2010 slutte å godta nye tilkoblinger på et bestemt web-proxy eller weblytteobjekt. Dette problemet kan oppstå etter at du har flere timer til flere dager for server oppetid.
Årsak
Dette problemet oppstår når TMG slutter å godta nye tilkoblinger på Weblytteobjektet. Dette fyller snart Restanse køen for socket ancillary funksjonen driver (AFD). Når Restanse køen er full, starter serveren til å tilbakestille nye innkommende tilkoblinger. Hvis du overvåker serveren ved hjelp av Network Monitor i denne situasjonen, kan det hende et SYN, ACK/RST mønster for hver nye tilkoblingsforsøk.
Oppløsning
Hvis du vil løse dette problemet, installerer du samleoppdatering 5 for Forefront Threat Management Gateway (TMG) 2010 Service Pack 2.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Hvis du vil ha mer informasjon
Når du har installert Samleoppdatering 5, må du aktivere funksjonaliteten til tid ut inaktiv godta samtaler. Følg disse trinnene:
-
Kopier følgende skript i Notisblokk, og deretter lagre 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
-
Kjør skriptet på en av serverne TMG. For eksempel for å angi tidsavbrudd til 5 minutter, kjører du følgende fra en administrativ ledetekst:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Hvis du vil gjøre denne endringen trer i kraft, starte på nytt på alle medlemmer av matrise brannmurtjenesten.
Hvis du vil angre denne endringen, kan du kjøre følgende kommando for å angi tidsavbrudd for inaktiv til 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
Referanser
Lær mer om terminologien som Microsoft bruker til å beskrive oppdateringer av programvare.