PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Reverse Proxy und IP Auflösung



shepcan
20.02.2017, 13:30
Hallo

Ich habe nach der Anleitung von twink0r.net einen Reverse Proxy auf einem VPS eingerichtet.
https://www.twink0r.net/2014/04/30/nginx-als-reverse-proxy-unter-debian-7/
Was leider noch nicht funktioniert ist die IP Auflösung

Ich habe folgende Reihenfolge
Cloudflare -> VPS mit Reverse Proxy -> Webserver


Auf dem eigentlichen Webserver habe ich es angepasst, dass dieser auflöst mit mod_remotip
Dort eingetragen habe ich
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy MEINE_PROXY_IP

Wenn es ich es jetzt teste, werden mir aber leider die IPs von Cloudflare angezeigt.

Habt ihr eine Idee was ich da noch machen muss damit die IP richtig aufgelöst wird?

Ich vermute mal ich muss auf dem Proxy Server noch was machen.
Aber was?


Für Tipps wäre ich dankbar

Nimbus
20.02.2017, 14:04
Ergänze mal bei deinem nginx folgende Zeile (unter/über dem proxy_pass)

proxy_set_header X-Forwarded-For $http_CF_Connecting_IP;

Damit sagst du ihm, dass er den Header den CloudFlare überträgt weiterreicht an den eigentlichen Webserver.
Wenn du das machst solltest du jedoch nur CloudFlare IPs auf den nginx erlauben, sonst kann jemand fremdes direkt auf den nginx zugreifen und mit dem Header eine falsche IP übertragen.

shepcan
20.02.2017, 17:58
Danke, das hat schon mal soweit geklappt mit dem Eintrag

Zusätzlich habe ich jetzt noch folgendes eingetragen:

# Allow for external CloudFlare proxies - https://www.cloudflare.com/ips
set_real_ip_from 103.21.244.0/22
set_real_ip_from 103.22.200.0/22
set_real_ip_from 103.31.4.0/22
set_real_ip_from 104.16.0.0/12
set_real_ip_from 108.162.192.0/18
set_real_ip_from 131.0.72.0/22
set_real_ip_from 141.101.64.0/18
set_real_ip_from 162.158.0.0/15
set_real_ip_from 172.64.0.0/13
set_real_ip_from 173.245.48.0/20
set_real_ip_from 188.114.96.0/20
set_real_ip_from 190.93.240.0/20
set_real_ip_from 197.234.240.0/22
set_real_ip_from 198.41.128.0/17
set_real_ip_from 199.27.128.0/21

Nimbus
20.02.2017, 18:22
Ich glaube das ist eigentlich nicht das was du möchtest. Dadurch bekommt der nginx-Server die Anweisung anstatt der IP der Verbindung die IP aus dem Header zu nutzen. Entweder du machst es wie oben beschrieben (mit blockieren) oder über die Liste der vertrauenswürdigen Adressen im ngx_http_realip_module (das ist das was du hier andeutest).

Wenn du diesen Weg gehen willst musst du aber die Zeile von oben abändern zu:

proxy_set_header X-Forwarded-For $remote_addr;

Denn sonst bleibt die oben erwähnte Problematik bestehen.

syrius
21.02.2017, 20:59
Sieht Warez Daily Talk & Offtopic als passender Thread aus? -.- MOVED -.- ​