Apache, varsayılan olarak erişim ve hata loglarına “X-Forwarded-For” bilgileri kaydetmez, böylece istemci bir proxy üzerinden bağlanıyorsa, loglarda yalnızca proxy sunucusunun IP adresini gösterir. X-Forwarded-For’ı apache konfigürasyonunda yapacağımız ufak bir değişiklikle log dosyalarına bilgi olarak ekleyerek, istemcinin gerçek IP adresini görebileceğiz.( Apache 2.4 + için )
Öncelikle aşağıdaki komut ile httpd.conf dosyasını açıyoruz.
# Centos / RHEL nano /etc/httpd/conf/httpd.conf
Access Log Formatı
Yapılandırma dosyasındaki varsayılan erişim log biçimi
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
Erişim logunda “X-Forwarded-For” bilgileri eklemek için bunu şu şekilde değiştirmemiz yeterlidir.
LogFormat "%h %{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
Hata ( Error ) Log Formatı
Yapılandırma dosyasındaki varsayılan hata log biçimi
ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
Hata logunda “X-Forwarded-For” bilgileri eklemek için bunu şu şekilde değiştirmemiz yeterlidir.
ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] [%{X-Forwarded-For}i] %M% ,\ referer\ %{Referer}i"