Skonfigurowałem Varnish 3 za pomocą Apache i działa on idealnie. Jednak nie mogę uzyskać IP klienta zalogowanego w dziennikach Apache. Wypróbowałem kilka rozwiązań googlujących bez szczęścia. W tej chwili mój plik logu dostępu Apache rejestruje adres IP serwera zamiast adresów IP klienta.IP klienta Varnish nie logującego się do Logów Apache
Oto moje konfiguracje uwagę rodzaj:
Lakier VCL (/etc/varnish/default.vlc): http://pastebin.com/PuBqZ6fx
Apache Config
/etc/httpd/conf/httpd .conf
LogFormat "% {X-Forwarded-For} i% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent } i \ "" varnishcombined
Apache Virtual Host
...... Inne rzeczy ..... kłody ErrorLog/fr-error-log CustomLog logs/fr-zlecenie dziennika varnishcombined ...... Inne rzeczy .....
Uwaga: lakier wersja zainstalowana jest lakier-3.0.2-1.el5.x86_64
Dzięki. Raheel
Odkomentowanie powyższego kodu daje mi rzeczywisty adres IP klienta w $ _SERVER ["HTTP_X_FORWARDED_FOR"], ale $ _SERVER ["REMOTE_ADDR"] nadal pokazuje serwer ip. Ponadto, plik dziennika dostępu Apache nadal pokazuje serwer IP dla każdego żądania. Jakieś wskazówki? –
Po spędzeniu trochę czasu znalazłem rozwiązanie, to jest moduł Apache RPAF. http://www.amgeekblog.com/mod_rpaf-in-ubuntu-and-centos/.Po użyciu tego modułu otrzymuję teraz prawidłowy adres IP klienta w pliku dziennika Apache, a także w zmiennej $ _SERVER ['REMOTE_ADDR'] w PHP. Dzięki! –
Czy adres IP klienta nie powinien być pierwszy? (np. 'client.ip +", "+ req.http.X-Forwarded-For") –