• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

FreeBSD Jails, Nginx, Apache, mod_rpaf

MuffiXXL

Well-Known Member
Themenstarter #1
Hi,

ich habe hier einen FreeBSD Server, auf dem Jails laufen. Vom Setup her hängen da 2 externe IPs dran, auf lo1 habe ich dann ein internes Subnetz auf 10.0.0.0/29.
Der nginx bekommt also auf einer der öffentlichen IPs requests und leitet die dann an 2 Apaches weiter die im 10.0.0.0/29 Subnetz ebenfalls in Jails hängen.

Jetzt wollte ich eigentlich von nginx aus auch die IPs der Seitenbesucher an die Apaches weitergeben, damit der Apache auch was sinnvolles loggt und um bestimmte Subdomains im Zugriff einzuschränken.
Hierzu setze ich im Nginx für die einzelnen Domains

Code:
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
und im Apache habe ich es erstmal mit

Code:
        RPAFenable On
        RPAFsethostname On
        RPAFproxy_ips 10.0.0.2
probiert, allerdings bekam der Apache dann die IP des Hosts für die Requests (der hängt auf 10.0.0.1 an lo1). Daraufhin also

Code:
        RPAFenable On
        RPAFsethostname On
        RPAFproxy_ips 10.0.0.0/29
probiert.

Beides führt mich allerdings nicht zum gewünschten Ziel. Apache bekommt immernoch die interne IP des Hosts und nicht die öffentliche des nginx.

Hat hier jemand einen Tipp für mich?
 

crotchmaster

happy BSD user
#2
Moin MuffiXXL,

ich habe so ein ähnliches Setup mit einem pound und zwei Indianern dahinter. Ich habe bei mir in der httpd.conf der Apachen folgende Zeile:

Code:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
Der pound übermittelt elektrisch die Client IP-Adresse und mit dem o.g. Format schreibt der Apache die Client IP-Adresse ins Logfile, wenn man

Code:
CustomLog /pfad/zum/logfile combined
konfiguriert hat. Keine Ahnung wie nginx das handhabt, aber in der Richtung würde ich suchen.

Gruß c.
 

reakktor

Well-Known Member
#3
Gerade erst über den Thread gestolpert: Habe genau so eine Config im Einsatz, denke es fehlt nur noch der Header, den sich mod_rpaf abgreifen soll:

Code:
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 10.0.0.2
RPAFheader X-Forwarded-For