4:26 pm - sâmbătă, 20 iulie 2019

X-forwarded-for pe Varnish / Apache

Evident o configuraţie Apache cu Varnish nu poate decât să aducă îmbunătăţiri în ceea ce priveşte livrarea fişierelor de pe server către client/browser. Problematică este însă situaţia în care sistemul are nevoie de IP-ul vizitatorului: spre exemplu un plugin de WP sau un sistem de visitor-tracking instalat local, care are nevoie de variabila $_SERVER[‘REMOTE_ADDR’] . Pe un site accelerat cu Varnish, în loc de IP-ul clientului veţi primi sigur 127.0.0.1 .

Am încercat tot felul de hackuri pe funcţia vcl_recv din fişierul de configurare, ştergând valoarea parametrului X-Forwarded-For şi rescriindu-l cu valoarea IP-ului de pe obiectul client. Fără nici o şansă însă. Probabil îmi scapă ceva. Totuşi pentru a rezolva problema rapid vă recomand să instalaţi modulul mod_rpaf, disponibil ca şi pachet in repo-ul de la Ubuntu (şi nu numai).

1
    apt-get install libapache2-mod-rpaf

În mod normal ar trebui să se configureze automat şi conf-urile de Apache, iar la final de instalare, să se ruleze un reload automat. Dacă nu se întâmplă aşa, activaţi modulul şi reîncărcaţi Apache-ul. Ar trebui să meargă.

Comentariile sunt inchise.