Apache: loggare il corretto IP se dietro proxy nginx

Ultimamente si usa spesso attivare nginx come proxy “davanti” ad Apache, magari per usare sistema di caching oppure per funzionalità particolari di bilanciamento, etc.

Attivando semplicemente nginx come proxy, si vedrà che apache inizierà a loggare come IP visitatore sempre quello del proxy e non più quello del visitatore vero e proprio.

Ipotizziamo di avere sia nginx che apache sullo stesso nodo, praticamente nei logs di apache si vedrà sempre 127.0.0.1 come IP del visitatore.

Per ovviare a questo, bastano due configurazioni.

Su nginx:

Modificare il file di configurazione del VirtualHost ed inserire nella sezione location:

Su apache <2.4:

Installare il modulo rpaf:

Poi modificare il file /etc/apache2/mods-enabled/rpaf.conf e modificare/inserire le direttive:

Su apache >= 2.4:

Creare il file /etc/apache2/mods-available/remoteip.conf con all’interno:

attiva il modulo remoteip:

Modificare le righe LogFormat nel file /etc/apache2/apache2.conf sostituendo %h con %a, es:

Ora riavviare apache ed nginx e nei files di logs ci saranno i corretti IP.

enjoy!

Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Commenta