Nginx - Erlauben der Ursprungs-IP

8

Nginx unterstützt allow und deny Syntax, um IPs zu beschränken, z.B. %Code%. Wenn der Datenverkehr jedoch einen Reverse-Proxy durchläuft, verweist die IP auf die IP des Proxys. Wie kann es konfiguriert werden, um eine bestimmte Ursprungs-IP-Adresse aufzulisten und alle anderen eingehenden Anfragen abzulehnen?

    
mahemoff 28.03.2016, 18:13
quelle

1 Antwort

10

remote_addr verweist auf den Proxy, aber Sie können den Proxy konfigurieren, um die Clientadresse mit den Headerfeldern X-Real-IP / X-Forwarded-For zu senden.

Kombiniert mit dem Modul ngx_http_realip können Sie den eingehenden Header so ändern, dass er die echte Clientadresse verwendet remote_addr. Ich glaube, dass dies mit der allow / deny-Syntax wie erwartet funktionieren wird.

Nur zur Verdeutlichung: Die Syntax erlauben / verweigern sollte nach dem Aktivieren und Konfigurieren des Moduls identisch sein. Ersetzen Sie Ihre IP-Adresse und Ihre Proxy-Adresse im Folgenden.

Back-end nginx erlauben / verweigern:

%Vor%

Back-End nginx-Realip-Konfiguration:

%Vor%

Auf Ihrer nginx-Proxy-Konfiguration:

%Vor%

Wenn Sie mehrere Zwischenproxys benötigen, müssen Sie die zusätzlichen Adressen real_ip_recursive und whitelist mit der Anweisung set_real_ip_from aktivieren.

    
ngraves 28.03.2016, 20:08
quelle

Tags und Links