Tengo la siguiente configuración:
(internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ]
[running HAproxy] --+--> [ Apache / PHP server ]
+--> [ Apache / PHP server ]
\-> [ Apache / PHP server ]
Para las solicitudes HTTP, esto funciona muy bien , las solicitudes se distribuyen a mis servidores Apache muy bien. Para las solicitudes SSL, tuve HAproxy distribuyendo las solicitudes usando el equilibrio de carga TCP, y funcionó sin embargo, ya que HAproxy no actuó como un proxy, no agregó el X-Forwarded-For
encabezado HTTP, y los servidores Apache / PHP no conocían el cliente dirección IP real
Entonces, agregué stunnel
frente a HAproxy, leyendo que stunnel podría agregar el X-Forwarded-For
encabezado HTTP. Sin embargo, el paquete que pude instalar en pfSense no agrega este encabezado ... además, esto aparentemente mata mi capacidad de usar las solicitudes KeepAlive , que realmente me gustaría conservar. Pero el mayor problema que mató esa idea fue que el aturdimiento convirtió las solicitudes HTTPS en solicitudes HTTP simples, por lo que PHP no sabía que SSL estaba habilitado e intentó redirigir al sitio SSL.
¿Cómo puedo usar HAproxy para equilibrar la carga en varios servidores SSL, permitiendo que esos servidores conozcan la dirección IP del cliente y sepan que SSL está en uso? Y si es posible, ¿cómo puedo hacerlo en mi servidor pfSense?
¿O debería dejar todo esto y simplemente usar nginx?
X-Forwarded-For
, mira aquí .