Usando HAProxy 1.5, ¿es posible agregar un encabezado de solicitud cuyo valor sea la dirección IP utilizada por una interfaz cuyo enlace usa un comodín?
Por ejemplo, dada la siguiente configuración, ¿hay algo con lo que pueda reemplazar "%[fe_id]" para obtener la dirección IP variable que se usó para conectarme al frontend?
frontend localhost
bind *:80
bind *:443 ssl crt /etc/ssl/ssl.pem
mode http
default_backend nodes
option forwardfor
backend nodes
mode http
balance roundrobin
http-request add-header X-FrontEnd-IP %[fe_id]
server web00 10.1.10.15:80 check
server web01 10.1.10.16:80 check
server web02 10.1.10.17:80 check
Respuesta1
Me lo imaginé. No estoy seguro de cómo me perdí esto, pero la variable es "dst". Entonces la configuración resultante se vería así:
frontend localhost
bind *:80
bind *:443 ssl crt /etc/ssl/ssl.pem
mode http
default_backend nodes
option forwardfor
backend nodes
mode http
balance roundrobin
http-request add-header X-FrontEnd-IP %[dst]
server web00 10.1.10.15:80 check
server web01 10.1.10.16:80 check
server web02 10.1.10.17:80 check
De esta forma podemos ver si la solicitud vino desde dentro o fuera de nuestra red y el servidor web puede adaptarse en consecuencia.
Además, acceder a esta variable con PHP es tan sencillo como utilizar el array $_SERVER con la clave "HTTP_X_FRONTEND_IP".
$_SERVER['HTTP_X_FRONTEND_IP']