IIS を使用して X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP を記録する 2 つの方法

IIS を使用して X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP を記録する 2 つの方法

問題: IIS を通じて公開された Web サイトは F5 デバイスの背後に配置されています。透過的な監視モードで WAF デバイスによってフィルタリングされた後、パブリック ネットワーク訪問者の実際の IP アドレスは WAF デバイスの IP アドレスに置き換えられ、元の実際の IP アドレスは Web サイトのログに表示されません。

解決策 1: サードパーティの IIS プラグインを使用して X-Forwarded-For を呼び出し、訪問者の実際の IP アドレスを取得します。これにより、f5 に配置された後に IIS がユーザーの IP アドレスを記録できないという問題が解決されます。
解決策 2: Microsoft の公式の高度なログ モジュール関数を使用して X-Forwarded-For を呼び出し、実際の IP アドレスを記録します。

上記の両方のソリューションでは、使用前に WAF 管理者が F5 デバイスで X-Forwarded-For データ転送を定義する必要があることに注意してください。

シナリオ 1:

F5XForwardedFor ファイルを解凍します。

ダウンロードアドレス: https://www.jb51.net/softs/770998.html

サーバーのオペレーティング システムのバージョンに応じて、x86\Release または x64\Release ディレクトリ内の F5XFFHttpModule.dll と F5XFFHttpModule.ini を C:\F5XForwardedFor\ などのディレクトリにコピーします。 IIS プロセスにディレクトリへの読み取り権限があることを確認します。

IIS マネージャーを開き、モジュール機能をダブルクリックします。

[ネイティブ モジュールの構成] をクリックし、ポップアップ表示されるダイアログ ボックスで [登録] をクリックします。

ダウンロードした.dllファイルを追加します(x64とx86の両方を追加するのが最適です)

追加した 2 つのファイルを承認して、ISAPI および CGI 拡張機能の実行を許可します。

ホームページに戻ったら、IIS を再起動します。

%SystemDrive%\inetpub\logs\LogFiles に移動して IIS ログを照会すると、ログにはすでに関連する元の IP 情報が含まれていることがわかります。

シナリオ2:

IIS の高度なログ機能をダウンロードしてインストールします https://www.microsoft.com/en-gb/download/details.aspx?id=7211

IIS ホームページに再度アクセスし、ダブルクリックして高度なログ機能を開きます。

高度なログ記録を有効にするには:

ローカル ログ フィールド構成を変更し、フィールドを追加します。

フィールド ID に「ClientSourceIP」と入力します。

カテゴリで「デフォルト」を選択します。

ソースタイプとして「リクエストヘッダー」を選択します。

ソース名に「X-Forwarded-For」と入力します。

ログ定義を追加します:

「ベースファイル名」フィールドに「クライアントソース IP」と入力し、「フィールドの選択」ボタンをクリックして「ClientSourceIP」を選択します。最後に「適用」をクリックしてホームページに戻ります。

ホームページに戻ったら、IIS を再起動します。

高度なログを照会すると、訪問者の元の IP 情報を取得できます。


これで、IIS が X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP アドレスを記録する 2 つの方法について説明したこの記事は終了です。IIS が X-Forwarded-For を呼び出す方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  トップに戻るボタンを実装するJavaScript

>>:  BFCとは何ですか? CSS 疑似要素を使用してフロートをクリアする方法

推薦する

Linux で JDK 環境を構成する方法

1. 公式ウェブサイトにアクセスして、jdk-8u162-linux-x64.tar.gzなどのLi...

停止したすべてのDockerコンテナを1つのコマンドで再起動する

停止したすべてのDockerコンテナを1つのコマンドで再起動するdocker ps -a | gre...

CSS変換ページめくりアニメーションレコードの実装

ページめくりの問題のシナリオBとCは同じページ(表と裏)にありますページをめくって A をカバーした...

jQueryフレームワークは、要素の表示と非表示の3つのアニメーションメソッドを実装しています。

目次1. デフォルトで表示と非表示を切り替える2. スライドして表示と非表示を切り替える3. フェー...

DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明

序文MySQL データのインポートとエクスポートは mysqldump コマンドで解決できることは誰...

NodeJSのモジュール性に関する詳細な説明

目次1. はじめに2. 本文2.1 モジュールとは何ですか? 2.2 解決2.3、require.r...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Docker のインストールと構成イメージの高速化の実装

目次DockerバージョンCentOS に Docker エンジンをインストールするシステム要件古い...

要素ツリーコントロールは、ドロップダウンメニューとアイコンを統合します(ツリー+ドロップダウン+入力)

目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...

Pengyou.com モバイル クライアントのダウンロード ページのデザイン共有 (画像とテキスト)

まずは簡単なデータを見てみましょう。 Googleが発表したレポートによると、 ①中国の都市の97%...

Idea で Docker を使用して SpringBoot プロジェクトをデプロイする詳細な手順

序文プロジェクト要件: Dockeridea に Docker プラグインをインストールし、Dock...

HTML+JS に基づくシンプルな年齢計算ツールの実装

目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...

IIS7 IIS8 http は自動的に HTTPS にジャンプします (ポート 80 はポート 443 にジャンプします)

IIS7 では、「URL REWRITE2」疑似静的モジュールがインストールされているかどうかを確...

uniapp エントリーレベル nvue クライミングピット記録の分析

目次序文こんにちは世界画像 境界線の半径を設定する実ピクセルを設定する外部CSSをインポートttfフ...

Linux でジャンプ サーバー経由でリモート サーバーに接続し、ファイルを転送する方法

最近、Linux ホストに環境を展開する際に多くの問題に遭遇しました。最初の問題は、ジャンプ サーバ...