Como posso usar o SSL por trás de um balanceador de carga e ainda obter o IP do cliente?

4

Nota: não posso usar a terminação SSL no balanceador de carga, devido a problemas relacionados à segurança da rede.

O IP do cliente que obtenho é, obviamente, o do balanceador de carga. Eu sei que o balanceador de carga não pode modificar a mensagem HTTPS sem ter a minha chave, mas existe outra maneira de obter o endereço IP do cliente quando o balanceamento de carga com SSL, como talvez apenas balanceamento de carga no nível TCP, ou algo assim? / p>     

por orokusaki 20.06.2013 / 18:39

1 resposta

5

Em uma resposta curta, você precisa encerrar o SSL no balanceador de carga se quiser que o X-Forwarded-For funcione.

Caso contrário, em uma configuração típica com um balanceador de carga "estúpido", o balanceador de carga age apenas como um intermediário entre o VIP e o IP real - resultando na exibição dos IPs do balanceador de carga nos logs. O balanceador de carga não pode inserir um cabeçalho se não puder descriptografar o tráfego.

Quanto ao balanceamento de conexões TCP, isso é essencialmente o que você está fazendo se não estiver finalizando o SSL no balanceador de carga.

É possível que um NetScaler ou alguma forma de dispositivo proxy possa ser configurado para registrar solicitações por IP, mas sem a chave privada não seria capaz de determinar as especificidades da solicitação, como o URI ou o método de solicitação.

    
por 20.06.2013 / 19:38