Příznaky
Serveru se systémem Microsoft Forefront Threat Management brány (TMG) 2010 může přestat přijímat nová připojení na konkrétní webový server proxy nebo služba naslouchání na webu. Tomuto problému může dojít po několika hodin do několika dní doba provozu serveru.
Příčina
K tomuto problému dochází při TMG přestane přijímat nová připojení na web listener. To brzy doplní nevyřízené položky fronty pro pomocné funkce ovladače (AFD) soketu. Po zaplnění fronty nevyřízených položek, je server spuštěn obnoví nové příchozí připojení. Pokud server můžete sledovat pomocí programu Sledování sítě v této situaci, můžete si všimnout SYN, ACK/RST vzor pro každý nový pokus o připojení.
Řešení
Chcete-li vyřešit tento problém, nainstalujte kumulativní 5 pro Forefront Threat Management brány (TMG) 2010 Service Pack 2.
Stav
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Další informace
Po nainstalování kumulativní 5, je nutné povolit časový limit nečinnosti přijímat volání funkce. Chcete-li to provést, postupujte takto:
-
Zkopírujte následující skript do programu Poznámkový blok a uložte soubor jako 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
-
Spusťte skript na jeden ze serverů TMG. Například chcete-li nastavit časový limit na 5 minut spusťte následující z příkazového řádku pro správu:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Chcete-li tato změna se projeví, restartujte službu firewall na všech členů pole.
Konfliktní, spusťte následující příkaz k nastavení časového limitu nečinnosti na 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
Odkazy
Další informace o terminologii , kterou společnost Microsoft používá k popisu aktualizací softwaru.