Eu já vi isso com servidores proxy e balanceadores de carga. O caso usual é que o tráfego de entrada cruza o proxy para chegar ao servidor Web, mas o gateway padrão do servidor Web é algo diferente do proxy. Ao fazer o NAT reverso, o servidor Web obtém o IP do proxy em vez do do cliente. Como ele terá uma rota para o proxy (e, de fato, provavelmente está na mesma sub-rede), é garantido que sempre pode obter o retorno do tráfego de volta ao cliente.
Uma correção para isso é o proxy inserir um cabeçalho HTTP personalizado contendo o IP real do cliente na solicitação HTTP que o servidor Web pode analisar. Para o Apache, torna-se um problema simples de modificar sua instrução LogFormat
para usar %{Custom-Header}
em vez de %h
. Claro, isso depende do fato de o seu dispositivo estar ciente do HTTP e ser capaz de inserir cabeçalhos arbitrários em GET / POST / etc. solicitações de. É um recurso comum para proxies e balanceadores de carga, mas não tanto para firewalls. Além disso, a menos que seu dispositivo esteja encerrando o SSL, ele não ajudará em solicitações HTTPS. Como Kyle disse, precisamos saber mais sobre o seu firewall.