RealIP#

O módulo é usado para alterar o endereço do cliente e porta opcional para aqueles enviados no campo de cabeçalho especificado.

Ao compilar a partir do código fonte, este módulo não é compilado por padrão; ele deve ser habilitado com a ‑‑with‑http_realip_module opção de compilação.

Em pacotes e imagens dos nossos repositórios, o módulo está incluído na compilação.

Exemplo de Configuração#

set_real_ip_from  192.168.1.0/24;
set_real_ip_from  192.168.2.1;
set_real_ip_from  2001:0db8::/32;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

Diretivas#

set_real_ip_from#

Sintaxe

set_real_ip_from address | CIDR | unix:;

Padrão

Contexto

http, server, location

Define endereços confiáveis que são conhecidos por enviar endereços de substituição corretos. Se o valor especial unix: for especificado, todos os sockets de domínio UNIX serão confiáveis. Endereços confiáveis também podem ser especificados usando um nome de host.

real_ip_header#

Sintaxe

real_ip_header field | X-Real-IP | X-Forwarded-For | proxy_protocol;

Padrão

real_ip_header X-Real-IP;

Contexto

http, server, location

Define o campo de cabeçalho da requisição cujo valor será usado para substituir o endereço do cliente.

O valor do campo de cabeçalho da requisição que contém uma porta opcional também é usado para substituir a porta do cliente. O endereço e porta devem ser especificados de acordo com a RFC 3986.

O parâmetro proxy_protocol altera o endereço do cliente para aquele do cabeçalho do protocolo PROXY. O protocolo PROXY deve ser previamente habilitado definindo o parâmetro proxy_protocol na diretiva listen.

real_ip_recursive#

Sintaxe

real_ip_recursive on | off;

Padrão

real_ip_recursive off;

Contexto

http, server, location

Se a busca recursiva estiver desabilitada, o endereço original do cliente que corresponde a um dos endereços confiáveis é substituído pelo último endereço enviado no campo de cabeçalho da requisição definido pela diretiva real_ip_header. Se a busca recursiva estiver habilitada, o endereço original do cliente que corresponde a um dos endereços confiáveis é substituído pelo último endereço não confiável enviado no campo de cabeçalho da requisição.

Variáveis Integradas#

$realip_remote_addr#

mantém o endereço original do cliente

$realip_remote_port#

mantém a porta original do cliente