Симптоми
Сървър, който изпълнява Microsoft Forefront Threat Management Gateway (TMG) 2010 може да спре да приема нови връзки на конкретна уеб прокси или уеб слушателя. Този проблем може да възникне след няколко часа до няколко дни на сървъра.
Причина
Този проблем възниква, когато TMG спира да приема нови връзки за уеб слушателя. Това скоро попълва чакащите на опашката за спомагателна функция (AFD) драйвер гнездото. Опашката на чакащите е пълен, сървърът започва да възстановите нови входящи връзки. Ако наблюдавате сървър чрез наблюдение на мрежата в тази ситуация, можете да забележите SYN ACK/RST модел за всеки нов опит.
Решение
За да разрешите този проблем, инсталирайте Сборен пакет за актуализация 5 за Forefront Threat Management Gateway (TMG) 2010 Service Pack 2.
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".
Допълнителна информация
След инсталиране на Сборен пакет за актуализация 5, трябва да разрешите функцията за време на престой се приема повиквания. За да направите това, изпълнете следните стъпки:
-
Копирайте следния скрипт в Notepad и след това запишете файла като SetAcceptIdleTimeout.vbs:
'Define the constants needed.Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"Const strVpsPropertyName = "AcceptIdleTimeout"Const Error_FileNotFound = &H80070002Set objArgs = wscript.Argumentsif objArgs.Count > 0 then uAcceptIdleTimeout = objArgs(0)end ifif 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 2end ifset objArray = CreateObject("FPC.Root").GetContainingArray()Set objVPSet = OpenVPSet(objArray, strVpsGUID)objVPSet.Value(strVpsPropertyName) = uAcceptIdleTimeoutobjArray.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 Ifend function -
Скрипт на един от сървърите на TMG. Например, за да зададете периода на изчакване за 5 минути изпълнете следното от команден прозорец с администраторски:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
За да направите тази промяна влезе в сила, рестартирайте услугата за защитна стена на всички членове на масив.
За да отмените тази промяна, изпълнете следната команда да използва времето за изчакване на 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
Препратки
Научете повече за терминологията , използвана за описание на софтуерните актуализации от Microsoft.