Симптомы
Сервер, на котором выполняется 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 = &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
-
Запустите сценарий на одном из серверов TMG. Например задать период ожидания 5 минут выполните следующую из административной командной строки:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Чтобы это изменение вступило в силу, перезапустите службу брандмауэра на всех членах массива.
Чтобы отменить это изменение, выполните следующую команду, чтобы задать тайм-аут простоя 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
Ссылки
Дополнительные сведения о терминологии , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.