Posted in Linux
Menampilkan Client IP Apache Menggunakan Varnish
Ketika kita menggunakan varnish seperti pada tutorial ini dan ini, maka client ip pada access_log Apache menjadi berasal dari 127.0.0.1. Hal ini dikarenakan Apache menerima log dari varnish yang berada di server yang sama dengan server apache. Untuk memunculkan client ip seperti sediakala, kita perlu mengubah config varnish dan apache.
How to
Buka /etc/varnish/default.vcl dan tambahkan menjadi seperti berikut
sub vcl_recv { unset req.http.X-Forwarded-For; set req.http.X-Forwarded-For = client.ip; }
Pada virtualhost apache, tambahkan 2 baris berikut
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" varnishcombined CustomLog /var/log/httpd/access_log varnishcombined
Restart varnish dan Apache
systemctl restart varnish systemctl restart httpd