作成開始 : 平成20年02月01日(金) 〜 最終更新日 : 平成20年02月01日(金)

IISで X-Forward-For ISAPI Filter を使う


Delegate のリバースプロキシで リモートのIPアドレスを通知できるようにしたのに伴い、リバースプロキシから受けたhttpリクエストの X-Forward-For を IIS のログに出力できるようにするISAPIを使ってみた。IISはApacheのように自身の設定だけでは X-Forward-For を取得することができないためです。

1.ファイルのダウンロード

X-Forward-For ISAPI FilterCodeShare というリンクから F5XForwardedFor.zip (約6.02Mbyte)をダウンロードします。

2.ファイルの解凍

ダウンロードしたファイルを解凍します。
解凍後に Release フォルダから F5XForwardedFor.dll (約52Kbyte) を 取り出します。

3.ファイルのコピー

取り出した F5XForwardedFor.dll を サーバー機の任意のフォルダにコピーします。Webページとしてさらしていないところがいいでしょう。
私は C:\x_forward を作ってそこにコピーしました。

4.ISAPI割り当て

IISのプロパティを開いて、ISAPIフィルタを追加しました。
今回の場合は・・・・

フィルタ名:IIS X-Forward-For ISAPI Filter
実行ファイル:C:\x_forward\F5XForwardedFor.dll

・・・・としました。
・・・・IISを再起動すると状態が有効になります。
前記までのは Windows2000 pro の IIS5 です。(Windows2000 Serverも同じ)

 ↑
Windows NT Server 4.0 の IIS4 です。

 ↑
Windows Server 2003 の IIS6 です。

5.動作確認

Delegate 経由でアクセスしてみてログのアクセス元のIPアドレスが Delegate機でなければOKです。

戻る

サイトトップへ