Apache、X-Forwarded-Forを使用して許可します


13

X-Forwarded-Forヘッダー(プロキシIP 10.1.1.x)を使用してHTTPクエリを許可するにはどうすればよいですか?

回答:


23

SetEnvIfとAllowを使用できます:

    <Location "/only_proxy/">
            SetEnvIf X-Forwarded-For ^10\.1\.1\. proxy_env
            Order allow,deny
            Satisfy Any
            Allow from env=proxy_env
    </Location>

1
X-Forwarded-Forヘッダーの偽造は本当に簡単であることを忘れないでください。
オッリ

また、偽造されたX-Forwarded-Forヘッダーから環境を保護するのはかなり簡単です(環境へのエントリポイントでこのヘッダーを削除することにより)。
ラースク

1
偽造されたX-Forwardedヘッダーから保護する方法に関する情報を探しているときにこの投稿を見つけましたが、関連するドキュメントを参照していただけますか?
ピート

2

mod_rpafを使用して、ApacheがX-Forwarded-For IPをクライアントIPとして扱うようにすることができます。


7
ここでGoogleからの道を見つける人のために:mod_rpafあなたのログを有用にすることができるだけであることに注意してください。アクセス制御の決定に使用されるアドレスには実際には影響しません。また、Apache 2.4では、mod_rpaf機能はmod_remoteipによってネイティブに提供されることに注意してください
ラースク

1
@larsks:それは真実ではありません。試してみたところ、うまくいきました!
confiq 14

2

403応答にリダイレクトする書き換えルールを作成できます。

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} !(1.1.1.1|2.2.2.2)
RewriteRule .* - [F]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.