現象
Microsoft Forefront Threat Management Gateway 2010 の HTTP 接続検証ツールは、実際に利用可能な Web サイトのエラーを返す場合があります。 そのため、Web 公開負荷分散 (WPLB) を使用するルールは使用できない可能性があります。Threat Management Gateway では、Web ファーム内のすべてのサーバーが使用できないと誤って想定されているためです。
また、問題の検証者に対して頻繁に "接続なし" メッセージを受け取ることがあります。 これらのメッセージは次のようになります。
注
接続検証ツール "Name_of_Verifier" は、https://ip_host/uri に接続しようとしたときにエラーを報告しました。 理由: 接続なし。
注
接続検証ツール "Name_of_Verifier" は、https://ip_host/uri に接続しようとしたときにエラーを報告しました。 理由: 要求がタイムアウトしました。
イベント ID 10050 と 21137 は、この問題の別の兆候である場合があります。
脅威管理ゲートウェイ Microsoft 管理コンソール (MMC) で個々の接続検証ツールの状態を監視するには、[監視] メニューの [接続検証ツール] の [結果] 列を確認します。
原因
この問題は、HTTP 接続検証ツールがサーバーの検証中に別の URL にリダイレクトされた場合に発生する可能性があります。 通常、これは次のいずれかの条件に該当する場合に発生する可能性があります。
- 宛先 URL は、別の URL にリダイレクトするように構成されています。 これは、完全に異なる URL か、構成された URL の下の相対パスのいずれかです。 この状況では、要求のサーバー名と URI の両方が更新される可能性があります。
- 宛先 URL には、要求を詳細なエラー ページ URL にリダイレクトするエラー処理コードがあります。
このような場合、接続検証ツールの URL はリダイレクトされた URL に更新され、後の要求では更新されません。
解決策
この問題を解決するには、 Forefront Threat Management Gateway (TMG) 2010 Service Pack 2 のロールアップ 5 をインストールします。
回避策
この問題を回避するには、Threat Management Gateway の構成を変更します。 たとえば、配列の説明を変更し、これらの変更を適用します。 これにより、接続検証ツールの構成が再適用されます。
注 この回避策は一時的なものであり、接続検証ツールの URL が更新される原因となった元の条件が繰り返される可能性があります。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
追加情報
Forefront Threat Management Gateway 2010 Service Pack 2 のロールアップ 5 では、接続検証ツールが HTTP リダイレクトを処理する方法を制御するためのサポートが追加されます。 既定では、接続検証ツールはリダイレクトに従うのではなく、接続検証ツールの構成で指定された URL のみを照会します。
注 次のスクリプトは、新しい既定の動作を変更する場合にのみ必要です。
次のスクリプトをテキスト ファイルにコピーし、ファイルを SetConnectivityVerifierHttpRedirectProcessingOptions.vbs として保存します。
'Define the constants needed. Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}" Const strVpsPropertyName = "ConnectivityVerifierHttpRedirectProcessingOptions" Const Error_FileNotFound = &H80070002 Set objArgs = wscript.Arguments fInvalidParameterValue = True if objArgs.Count > 0 then uIntParamValue = objArgs(0) fInvalidParameterValue = (uIntParamValue < 0) end if if objArgs.Count <> 1 or fInvalidParameterValue then wscript.echo "Usage: SetConnectivityVerifierHttpRedirectProcessingOptions.vbs <options>" wscript.echo wscript.echo "Exactly one nonnegative numeric parameter is accepted" wscript.Quit 2 end if set objArray = CreateObject("FPC.Root").GetContainingArray() Set objVPSet = OpenVPSet(objArray, strVpsGUID) objVPSet.Value(strVpsPropertyName) = uIntParamValue objArray.Save 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次の一覧から必要な動作を選択し、管理コマンド プロンプトでコマンドを実行します。
オプション 1: 両方の機能のアクティブを解除する (ロールアップ 5 より前の機能に戻す)
cscript.exe SetConnectivityVerifierHttpRedirectProcessingOptions.vbs 0"
オプション 2: 接続検証ツールが HTTP リダイレクトに従わないようにする (既定値)
cscript.exe SetConnectivityVerifierHttpRedirectProcessingOptions.vbs 1
オプション 3: 要求が送信されるたびに接続検証ツールの URL を更新する
cscript.exe SetConnectivityVerifierHttpRedirectProcessingOptions.vbs 2
オプション 4: オプション 2 と 3 の両方の機能を有効にする
cscript.exe SetConnectivityVerifierHttpRedirectProcessingOptions.vbs 3
参考資料
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。