作成開始 : 平成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 Filter の CodeShare というリンクから 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です。
【戻る】