Apache, gunakan X-Forwarded-For untuk memungkinkan

13

Bagaimana cara menggunakan header X-Forwarded-For (proxy saya ip 10.1.1.x) untuk memungkinkan permintaan HTTP?

bindbn
sumber

Jawaban:

23

Anda dapat menggunakan SetEnvIf dan Izinkan:

    <Location "/only_proxy/">
            SetEnvIf X-Forwarded-For ^10\.1\.1\. proxy_env
            Order allow,deny
            Satisfy Any
            Allow from env=proxy_env
    </Location>
ooshro
sumber
1
Ingatlah bahwa sangat mudah untuk memalsukan header X-Forwarded-For.
Olli
Ini juga cukup mudah untuk melindungi diri Anda dari header X-Forwarded-For forged (dengan melepas header ini di titik masuk ke lingkungan Anda).
larsks
1
menemukan posting ini sambil mencari informasi tentang cara melindungi terhadap header x-forwarded yang dipalsukan, maukah Anda menunjuk ke dokumen yang relevan?
Pete
2

Anda dapat menggunakan mod_rpaf untuk membuat Apache memperlakukan X-Forwarded-For IP sebagai IP klien.

ThatGraemeGuy
sumber
7
Bagi mereka yang menemukan jalan mereka di sini dari Google: catatan yang mod_rpafhanya dapat membuat log Anda bermanfaat; itu sebenarnya tidak mempengaruhi alamat yang digunakan dalam keputusan kontrol akses. Perhatikan juga bahwa di Apache 2.4, mod_rpaffungsionalitas disediakan secara asli oleh mod_remoteip .
larsks
1
@ Larsks: Itu tidak benar. Saya mencoba dan itu berhasil bagi saya!
confiq
2

Anda dapat menulis aturan penulisan ulang untuk mengarahkan kembali ke respons 403.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} !(1.1.1.1|2.2.2.2)
RewriteRule .* - [F]
Vicky Sridhar
sumber