Statistiken auf Webserver hinter Proxy

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von kahless, 4. Sep. 2014.

  1. kahless

    kahless New Member

    Hallo...

    Vorweg, da dies mein erster Beitrag hier ist: seit zwei Wochen richte ich eine Umgebung mit ISPconfig ein, und es gefaellt mir von Tag zu Tag besser. Danke an die Entwickler!

    Zu meinem Problem: ich habe auf einem Server mit einer oeffentlichen IP das ISPconfig auf mehrere virtuelle Maschinen verteilt, jeweils mit privaten IPs (192.168.0.0/24). Unter anderem sind da zwei Webserver mit nginx. Auf dem Haupt-Server laeuft auch ein nginx als Reverse Proxy, der reicht die Anfragen an die nachgelagerten Server durch.

    Das klappt soweit prima.

    Allerdings wuerde ich in den Statistiken gerne etwas ueber meine Besucher erfahren. Und sowohl Webalizer als auch AWstats sehen natuerlich nur die IP des Reverse Proxy (192.168.0.1). So macht das keinen Spass.

    Gibt es da eine Loesung?


    Gruss,
    Kahless.
     
  2. Till

    Till Administrator

    Du könntest die Statistiken auf dem proxy server anhand von dessen logs erstellen, denn die logs müssen ja die richtigen IP's enthalten.
     
  3. kahless

    kahless New Member

    Hallo...

    Kann ich das mit Bordmitteln machen? Also so dass das fuer Reseller / Clients transparent ist? Oder muesste ich mir da was skripten?

    Ich habe gesehen dass ich auf dem Webserver (also dem ISPconfig-kontrollierten Webserver, hinter dem Proxy) mit der nginx-Direktive log_format das Format anpassen kann. Nginx unterstuetzt offenbar durch Anweisungen wie "proxy_set_header X-Real-IP $remote_addr" das Durchreichen der echten IP. Allerdings muesste ich dann ein eigenes log_format auf dem Webserver definieren. Das geht, allerdings darf mein log_format nicht den Namen 'combined' haben. ISPconfig legt die vhosts aber so an dass im Format 'combined' geloggt wird...


    Ciao,
    Kahless.
     
  4. kahless

    kahless New Member

    Geloest!

    Hallo...

    OK, das mit dem log_format war ein Holzweg. Hat erstens nicht geklappt, und zweitens haette ISPconfig die Einstellung jedes Mal ueberschrieben wenn die Site umkonfiguriert wird.

    Aber es gibt eine Loesung: die folgenden Zeilen im http{}-Block des eigentlichen Webservers (also der hinter dem Reverse Proxy) machen genau was ich gesucht habe:

    Code:
    # log real source IP instead of the reverse proxy's
    set_real_ip_from 192.168.0.0/16;
    real_ip_header X-Forwarded-For;
    Das erfordert dass in der Konfiguration des Proxys folgende Zeilen stehen:

    Code:
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    Aber die findet man in praktisch jeder Anleitung zu dem Thema.


    Ciao,
    Kahless.
     

Diese Seite empfehlen