Categories: apacheweb

Obtendo IP real em uma aplicação web atrás de um proxy reverso

Quando utilizamos um proxy reverso como varnish ou nginx (até mesmo com o apache da pra fazer isso) temos um pequeno problema em aplicações que logam ip do usuário (como um sistema de comentários, por exemplo).

Ao configurar um proxy reverso, normalmente denominamos um header separado para o IP real da aplicação, pode ser qualquer header, mas normalmente é utilizado o header XForwardedFor (que chamamos de XFF)

Existem diversas soluções para isto, a primeira atraves de php, bastando inserir o código abaixo em algum arquivo de include global (como arquivo de conexão ao banco)

<?php
$_SERVER['REMOTE_ADDR'] = $_SERVER['X_FORWARDED_FOR'];
?>

Para uma solução a nível de webserver (apache) podemos usar o mod_rpaf.
Para instalar no ubuntu (e distros baseadas em debian)

apt-get install libapache2-mod-rpaf

Para demais distros, pode-se obter o source na página do projeto:
http://stderr.net/apache/rpaf/

Felipe Braz

Share
Published by
Felipe Braz

Recent Posts

online ansible vault tool

A criação e validação de credenciais seguras em ansible sempre gera um pouco de dor…

2 anos ago

Magento e o mistério do servidor somente-leitura

Dia desses, um dos meus servidores entrou com o sistema de arquivos / em modo…

5 anos ago

Localização de arquivos .desktop no ubuntu

O launcher do ubuntu não fornece muitas opções me relação aos icones, muitas vezes apps…

5 anos ago

Ordenar array por tamanho em php

Três meios diferentes para a mesma finalidade: Usando funções nativas do PHP (recomendado): array_multisort(array_map('strlen', $array),…

5 anos ago

Adicionar suporte a rc.local no ubuntu 16.04 ou superior

Embora um script muito útil para tarefas de inicialização de um servidor, essa funcionalidade se…

5 anos ago

API json registro.br gratuita

Pra que precisa de uma API pra consultar domínios .br é só utilizar a pagina…

5 anos ago