Pesquise...

Últimos Posts

Arquivo de Posts

2018 - 2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo!

     
  •      
  •  
  •  
  •  
  •  
  •  
Tecnologia do Blogger.

Total de Acessos


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?

Segue um pequeno macete para corrigir o "problema".

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