Relatório adequado do endereço IP público do usuário final (controlador Ingress baseado em NGINX)¶
Estas instruções descrevem a configuração do controlador Ingress da Wallarm necessária para identificar um endereço IP de origem de um cliente (usuário final) quando um controlador está posicionado atrás de um balanceador de carga.
Por padrão, o controlador Ingress assume que está diretamente exposto à Internet e que os endereços IP dos clientes conectados são seus IPs reais. No entanto, as solicitações podem ser passadas pelo balanceador de carga (por exemplo, AWS ELB ou Google Network Load Balancer) antes de serem enviadas para o controlador Ingress.
Em situações em que um controlador está colocada atrás de um balanceador de carga, o controlador Ingress considera o IP do balanceador de carga como o verdadeiro IP do usuário final, o que pode levar a operação incorreta de alguns recursos da Wallarm. Para relatar os endereços IP corretos dos usuários finais ao controlador Ingress, por favor configure o controlador conforme descrito abaixo.
Etapa 1: Ativar a transferência do IP real do cliente na camada de rede¶
Este recurso é altamente dependente da plataforma em nuvem que está sendo usada; na maioria dos casos, pode ser ativado definindo o atributo values.yaml
controller.service.externalTrafficPolicy
para o valor Local
:
Etapa 2: Habilitar o controlador Ingress para obter o valor do cabeçalho da solicitação HTTP X-FORWARDED-FOR¶
Normalmente, os balanceadores de carga adicionam o cabeçalho HTTP X-Forwarded-For
contendo um endereço IP original do cliente. Você pode encontrar o nome exato do cabeçalho na documentação do balanceador de carga.
O controlador Ingress da Wallarm pode obter o endereço IP real do usuário final deste cabeçalho se o values.yaml
do controlador for configurado da seguinte forma:
-
No parâmetro
forwarded-for-header
, por favor especifique o nome do cabeçalho do balanceador de carga contendo um endereço IP original do cliente
Outras recomendações
A versão do Wallarm do controlador Kubernetes Ingress é baseada no controlador NGINX Ingress suportado pela comunidade para Kubernetes, então a maioria das recomendações encontradas na documentação oficial do controlador Ingress e na Internet pública também são aplicáveis ao controlador Ingress da Wallarm.
Leitura recomendada: