現象
Microsoft Forefront 脅威管理ゲートウェイ (TMG) 2010 を実行しているサーバーはことがあります、特定の web プロキシまたは web リスナーの新しい接続の受け付けを停止します。この問題は、サーバーの稼働時間のいくつかの日にいくつかの時間後に発生可能性があります。
原因
この問題は、TMG の web リスナーの新しい接続の受け付けを停止したときに発生します。これにより、補助的な関数ドライバー (AFD) ソケットのバックログ キューがすぐに入力されます。バックログ キューがいっぱいになると後、は、新しい着信接続をリセットするのには、サーバーが起動します。このような状況でネットワーク モニターを使用してサーバーを監視する場合、SYN ACK と RST パターンをそれぞれ新しい接続の試行がある場合があります。
解決策
この問題を解決するには、Forefront 脅威管理ゲートウェイ (TMG) 2010 Service Pack 2 のプログラムのロールアップ 5をインストールします。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
詳細
プログラムのロールアップ 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 サーバーの 1 つのスクリプトを実行します。タイムアウト時間を 5 分に設定する例では、管理者のコマンド プロンプトから次を実行します。
cscript.exe SetAcceptIdleTimeout.vbs 300
-
この変更を有効にするには、すべてのアレイ メンバー上のファイアウォール サービスを再起動します。
この変更を元に戻すには、アイドル状態のタイムアウトを 0 に設定するのには次のコマンドを実行します。
cscript.exe SetAcceptIdleTimeout.vbs 0
関連情報
Microsoft がソフトウェア更新プログラムを説明するために使用される用語について説明します。