Reverse proxy

Hi!

Ich wollte Piwik auf einen Server hosten der hinter einem reverse proxy steht und ein Server analysieren soll, der auch seiner seits hinter (dem selben) reverse proxy steht (im selben lokalen Netzwerk).

Ich habe dazu wenig gefunden. Und das wenige was ich gefunden habe, waren leider keine Beispiele.

Derzeit versagt Piwik jegliche Zusammenarbeit nach der (erfolkreichen) installation.

Gruß

Olaf Radicke

Hallo,

vielleicht hilft das:
http://piwik.org/faq/how-to-install/#faq_98
http://piwik.org/faq/troubleshooting/#faq_121

Hi Peter!


[General]
; CloudFlare proxy
; proxy_client_headers[] = HTTP_CF_CONSULTING_IP
; ISP proxy (Client-IP)
;proxy_client_headers[] = HTTP_CLIENT_IP
; standard proxy
;proxy_client_headers[] = HTTP_X_FORWARDED_FOR

Es geht schon mit der Syntax los. Ich vermute mal “;” ist bei PHP ein Kommentarzeilen. Also muss ich was ein kommentiere - vermute ich mal. “CloudFlare proxy” wird wohl ein Kommentar sein und keine Zuweisung - vermute ich mal. proxy_client_headers[ ] wird wohl ein Array sein, der mehrere Wehrte aufnehmen kann? Bei den meisten Programmiersprachen ist “=” eine Zuweisung die einen Inhalt überschreibt, als wird es Unfug sein auf diese Art mehrere Wehrte zuzuweisen. Ich vermute mal aus dem Bauch heraus, ab den Zweiten Wehrt müsse “+=” statt “=” verwendet werden. Welches Formst “HTTP_CF_CONSULTING_IP” hat ist mir nicht klar. Die IP des Proxys plus Protokoll (https://) und Port? Geht auch ein Hostname (“localhost”)?

Wenn es ein Array ist müsst eigentlich auch die folgende Zuweisung gehen:
proxy_client_headers[] = HTTP_CF_CONSULTING_IP, HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR

Gruß

Olaf

Hallo Olaf,

ähm - was? - geht es gerade um eine syntax / semantik-Analyse des Piwik-Config Verfahrens, oder um das weiterreichen von Proxy-Headern? :wink:
; -> Kommentarzeile
= -> Zuordnung
[] -> array-Notation

+= -> ganz andere Baustelle

Nein - das funktioniert so. Ein Proxy gibt beim Durchleiten des Headers einen bestimmten Proxy-Header-Eintrag für die IP des Surfers an. Piwik muss man nun beibringen, wie dieser Header-Eintrag heißt (z.B. heißt dieser “HTTP_X_FORWARDED_FOR” bei einem STandard-Proxy). Das müsste man über die Proxy-Einstellung herausfinden können bzw. dort konfigurieren.

In der COnfig muss es dann also z.B. heißen


[General]
;standard proxy
proxy_client_headers[] = HTTP_X_FORWARDED_FOR

…Ah. Okay, das ist doch mal ein Ansatz. Werde ich Montag weiter machen und berichten. Derweil danke für die Antwort.

Olaf

Ich bin leider immer noch nicht weiter. Ist “HTTP_X_FORWARDED_FOR” der Teil der URL an Hand dessen der revers proxy erkennt, an welchen Server er delegieren soll? Also z.B.: my-revers-proxy.de/delegation/index.html. In meinem Fall erkennt der reverse proxy an dem Teil “/delegation/” das er die Anfrage nicht selbst beantwortet. Ich habe dann folgendes probiert:


proxy_client_headers[] = delegation
;und
 proxy_client_headers[] = /delegation
;und
 proxy_client_headers[] = /delegation/
;und
 proxy_client_headers[] = delegation/

geht aber alles nicht. Ich benutze übrigens den Apache2 mit proxy-mod.

Gruß

Olaf