SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

TMG でキャッシング + リバースプロキシを設定

without comments

TMG はプロキシの機能を備えていますので、キャッシング + リバースプロキシとして設定をすることが可能です。
今日はその設定をまとめてみたいと思います。

■リバースプロキシのルール設定


まずはリバースプロキシのルールを設定します。
リバースプロキシのポリシーは [ファイアウォール ポリシー] を右クリックして [Web サイト公開ルール] で設定をします。
image

  1. ルールの名称を設定します。
    今回は [engineermemo.wordpress.com] 用のルールを作成したいと思いますのでサイト名をルール名として設定しておきたいと思います。
    image
  2. [許可] を選択して、 [次へ] をクリックします。
    image
  3. [1 つの Web サイトまたは負荷分散装置を公開する] を選択して、[次へ] をクリックします。
    image
  4. 今回は HTTP で接続をしますので、[公開された Web サーバーまたはサーバーファームへの接続に、セキュリティで保護されていない接続を使用する] を選択して、[次へ] をクリックします。
    image
  5. 内部サイト名にリバースプロキシ先のサイト名を入力して、[次へ] をクリックします。今回は、[engineermemo.wordpress.com] を設定します。
    image
  6. 今回は公開するパスは限定しないのでパスは省略して、[次へ] をクリックします。
    image
  7. リバースプロキシ元となる外部アクセスのサイト名を入力して、[次へ] をクリックします。
    今回は独自ドメインとして持っている [engineer-memo.com] のサブドメインとして [wordpress.engineer-memo.com] を設定したいと思います。
    # これくらいであれば CNAME でできてしまいそうですが。
    image
  8. 今回は HTTP でアクセスをするため、HTTP 用のリスナーを選択して、[次へ] をクリックします。
    image
  9. 今回は認証の設定は必要ないので、[委任できません。クライアントは直接認証できません] を選択して、[次へ] をクリックします。
    image
  10. 全ユーザーに対してルールを適用するため、[すべてのユーザー] が適用された状態 (デフォルト) で [次へ] をクリックします。
    image
  11. [完了] をクリックします。
    image

以上で、リバースプロキシの設定は完了です。
設定が終わったら [適用] をして設定を反映させます。
imageimage
image
この設定で [wordpress.engineer-memo.com] から [engineermemo.wordpress.com] にアクセスが可能となります。
image
この状態だと、エンコードされた URL に対してアクセスをすると以下のようなエラーとなってしまうようです。
# 2 バイト文字を含めた場合なのかもしれませんが…。この辺詳しくないのですよね。
image

  • エラー コード: 500 Internal Server Error. The request was rejected by the HTTP filter. Contact the server administrator. (12217)

エンコードされた URL に対してアクセス可能にするためには、作成したルールの [トラフィック] タブの [フィルター] → [HTTP の構成] をクリックします。
image
[ハイビット文字をブロックする] を無効にします。
image
この設定をすることで、エンコードされた URL に対してもリバースプロキシでアクセスできるようになります。
# 以前、TMG 経由で WebDAV の日本語のディレクトリにアクセスした場合にも同様の設定をした気が。
image

■キャッシュの設定


TMG のデフォルトの設定ではキャッシュは無効になっていますので、キャッシュを有効にします。
キャッシュは [Web アクセス ポリシー] から設定することができます。
[Web アクセス ポリシー] を右クリックして、[構成 (関連)] → [Web キャッシュ] をクリックします。
image
[キャッシュドライブ] タブを選択して、下のリストからサーバーを選択して、[構成] をクリックします。
image
キャッシュドライブとサイズを設定して、[OK] をクリックします。
全ドライブでキャッシュのサイズが [0] となっている場合は、キャッシュが無効な状態となります。
今回は E ドライブに 40GB のキャッシュを作成します。
image
後は設定を適用させます。
キャッシュの設定の適用にはサービスの再起動が必要となります。
image
設定が完了し、構成が適用されると設定したドライブに [urlcache] ディレクトリが作成され、キャッシュファイルが作成されます。
image
TMG のキャッシュはワンファイルで作成されるのでキャッシュの中身に何が含まれるかは標準では見ることができません。
キャッシュの中身を見るためには、[CacheDir.exe] を使用します。
このプログラムは標準では含まれておらず、MicrosoftR Forefront Threat Management Gateway (TMG) 2010 Tools & Software Development Kit から [CacheDirPack.exe] をダウンロードしてインストールすることで使用することができます。
ダウンロードした EXE を実行してファイルを展開します。
imageimage
imageimage
ファイルは [C:Program Files (x86)Microsoft Forefront TMG ToolsCacheDir] に [CacheDir.exe] が展開されるのですがこの状態で実行しても起動することはできません。
image
プログラムを実行するためには、[CacheDir.exe] を [C:Program FilesMicrosoft Forefront Threat Management Gateway] にコピーしてから実行します。
実行してしばらくたつとキャッシュの内容が見えてくると思います。
image
[CacheDir.exe ?dump <ファイル名>] を実行することでキャッシュの内容をファイルに出力することも可能です。
image
TMG はマッピング変換で、作成したルールの URL を動的変換してくれる設定が自動で作成されます。
image
デフォルトではグローバルリンク変換の構成で変換対象のコンテンツは [HTML ドキュメント] のみになっているのですが、[ドキュメント] を有効にすることで、XML も変換対象とすることができ、XML Web サービスの内部 URL を変換したりもできたはずです。
image
ARR で絶対パスの変換がうまく設定できなかったのですが、TMG だと結構簡単にできるかと思います。

Written by Masayuki.Ozawa

3月 15th, 2011 at 10:41 pm

Posted in ISA,TMG

Tagged with

Leave a Reply