Eu tenho a seguinte configuração:
(internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ]
[running HAproxy] --+--> [ Apache / PHP server ]
+--> [ Apache / PHP server ]
\-> [ Apache / PHP server ]
Para solicitações HTTP, isso funciona muito bem , as solicitações são distribuídas para meus servidores Apache muito bem. Para solicitações SSL, eu tinha o HAproxy distribuindo as solicitações usando o balanceamento de carga TCP, e funcionou no entanto, uma vez que o HAproxy não agia como proxy, não adicionava o X-Forwarded-For
cabeçalho HTTP e os servidores Apache / PHP não conheciam o cliente. endereço IP real.
Então, eu adicionei stunnel
na frente do HAproxy, ler esse stunnel poderia adicionar o X-Forwarded-For
cabeçalho HTTP. No entanto, o pacote que eu poderia instalar no pfSense não adiciona esse cabeçalho ... além disso, isso aparentemente mata minha capacidade de usar solicitações KeepAlive , que eu realmente gostaria de manter. Mas o maior problema que acabou com essa ideia foi que o stunnel converteu as solicitações HTTPS em solicitações HTTP simples, então o PHP não sabia que o SSL estava ativado e tentou redirecionar para o site SSL.
Como posso usar o HAproxy para carregar o equilíbrio em vários servidores SSL, permitindo que esses servidores saibam o endereço IP do cliente e saibam que o SSL está em uso? E, se possível, como posso fazer isso no meu servidor pfSense?
Ou devo largar tudo isso e usar o nginx?
X-Forwarded-For
, veja aqui .