Apache, użyj X-Forwarded-For, aby zezwolić

13

Jak używać nagłówków X-Forwarded-For (moje proxy ip 10.1.1.x), aby zezwolić na zapytania HTTP?

bindbn
źródło

Odpowiedzi:

23

Możesz użyć SetEnvIf i Zezwalaj:

    <Location "/only_proxy/">
            SetEnvIf X-Forwarded-For ^10\.1\.1\. proxy_env
            Order allow,deny
            Satisfy Any
            Allow from env=proxy_env
    </Location>
ooshro
źródło
1
Pamiętaj, że naprawdę łatwo jest sfałszować nagłówek X-Forwarded-For.
Olli
Można również dość łatwo zabezpieczyć się przed sfałszowanymi nagłówkami X-Forwarded-For (usuwając ten nagłówek w punktach wejścia do środowiska).
larsks
1
znalazłem ten post, szukając informacji o tym, jak chronić się przed sfałszowanymi nagłówkami przekierowanymi x, czy mógłbyś wskazać odpowiedni dokument?
Pete,
2

Możesz użyć mod_rpaf, aby Apache traktował adres IP X-Forwarded-For jako adres IP klienta.

ThatGraemeGuy
źródło
7
Dla tych, którzy znajdą tutaj swoją drogę od Google: pamiętaj, że mod_rpafjest w stanie uczynić twoje logi tylko użytecznymi; w rzeczywistości nie wpływa na adres użyty w decyzjach o kontroli dostępu. Zauważ też, że w Apache 2.4 mod_rpaffunkcjonalność jest dostarczana natywnie przez mod_remoteip .
larsks
1
@larsks: To nie jest prawda. Próbowałem i to zadziałało dla mnie!
confiq
2

Możesz napisać regułę przepisywania w celu przekierowania do odpowiedzi 403.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-For} !(1.1.1.1|2.2.2.2)
RewriteRule .* - [F]
Vicky Sridhar
źródło