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?

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>

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.


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]
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.