Симптомы
Сервер, на котором выполняется Microsoft Forefront угроз Management Gateway (TMG) 2010 может прекратить прием новых подключений на определенных веб-прокси или веб-прослушивателя. Эта проблема может возникнуть после нескольких часов до нескольких дней непрерывной работы сервера.
Причина
Эта проблема возникает, когда TMG прекращает принимать новые подключения для веб-прослушивателя. Это скоро заполняет очередь незавершенных заданий для сокета вспомогательной функции (AFD) драйвер. После полного очередь незавершенных заданий сервера начинает Сброс новых входящих подключений. Если сервер мониторинга с помощью сетевого монитора в этом случае можно заметить SYN ACK/RST шаблон для всех новых попыток подключения.
Решение
Для решения этой проблемы установите накопительный пакет 5 для Forefront угроз Management Gateway (TMG) 2010 Пакет обновления 2.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".
Дополнительные сведения
После установки накопительного пакета обновлений 5 необходимо включить время ожидания простоя принимать вызовы функции. Чтобы сделать это, выполните следующие действия.
-
Скопируйте следующий сценарий в Блокнот и сохраните файл как 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
Ссылки
Дополнительные сведения о терминологии , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.