Use o certificado do servidor em vez do gerenciamento do HAProxy para seus servidores de backend

0

Estou tentando criar um ambiente usando o HAProxy para permitir que sites hospedados em servidores locais (com um IP privado) sejam acessados por meio de conexão SSL usando o HAProxy Server (com um IP público e um IP privado local). Eu não quero servidor HAProxy para gerenciar o certificado SSL para seus servidores de back-end, em vez disso servidores de back-end (ou seja, servidores privados locais) gerenciam os certificados e HAProxy apenas usar certificado do servidor de back-end para criar conexão. Isso é possível usando o HAProxy?

    
por Abhijeet M 23.02.2017 / 14:22

1 resposta

0

Aqui está a solução: Com o TPROXY, podemos passar o IP dos clientes para o servidor real sem a necessidade de um cabeçalho encaminhado e funciona para conexões TCP.

Requisitos:

  1. Linux com kernel 2.6.28 e superior

  2. iptables e HAProxy com suporte a TPROXY

  3. Os servidores de back-end devem usar o nó em que o HAPRoxy está instalado como um gateway padrão

  4. Você já tem uma configuração HAProxy em funcionamento

Procedimento:

  1. Execute o comando abaixo para marcar e rotear pacotes
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 111
iptables -t mangle -A DIVERT -j ACCEPT
ip rule add fwmark 111 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
  1. Defina o nó no modo de encaminhamento:
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
echo 1 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 1 > /proc/sys/net/ipv4/conf/eth0/send_redirects
  1. Na seção de configuração do proxy de backend HAProxy, adicione:

source 0.0.0.0 usesrc clientip

  1. Reinicie o serviço HAProxy.

  2. Concluído

Eu encontrei a solução para isso seguindo as etapas fornecidas no guia mencionado no link abaixo: link

    
por 29.04.2017 / 12:59