Saudações,
Você utiliza ou está configurando o conjunto Nginx (front end) + Apache (back end), e se deparou com o ip 127.0.0.1 nos logs do Apache?
Não vou entrar em detalhes da instalação/configuração do conjunto de servidores. Existem muitos howto espalhados pela web que pode lhe ajudar, como por exemplo:
http://www.howtoforge.com/reduce-apache-load-with-nginx-rhel5.2
Continuando...
Na configuração do Nginx como proxy reverso, é essencial, que as diretivas abaixo estejam ativadas:
...
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...
Em meu Linux, por padrão, elas já estão habilitadas no arquivo:
/etc/nginx/proxy_params
Agora passaremos para o Apache!
Instale o pacote libapache2-mod-rpaf:
#apt-get install libapache2-mod-rpaf
Edite o arquivo /etc/apache2/apache2.conf:
#vi /etc/apache2/apache2.conf
Localize as linhas abaixo e efetue as modificações...
DE:
...
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
...
PARA:
...
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
...
Reinicie o Apache:
#/etc/init.d/apache2 restart
Pronto! Agora o Apache irá receber, do Nginx, o cabeçalho X-Forwarded-For, e mostrará o ip real de quem está acessando a pagina.
#tail -f /var/log/{apache2,nginx}/access.log
==> /var/log/apache2/access.log <==
166.70.207.2 - - [12/Aug/2012:22:38:36 -0300] "GET /fengoffice/index.php?c=access&a=login HTTP/1.0" 200 2158 "http://descobridor.dyndns.org:9090/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/12.04 Chromium/18.0.1025.168 Chrome/18.0.1025.168 Safari/535.19"
==> /var/log/nginx/access.log <==
166.70.207.2 - - [12/Aug/2012:22:38:36 -0300] "GET /fengoffice/index.php?c=access&a=login HTTP/1.1" 200 1769 "http://descobridor.dyndns.org:9090/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/12.04 Chromium/18.0.1025.168 Chrome/18.0.1025.168 Safari/535.19"
Paz a todos!
0 comentários:
Postar um comentário