X-Forwarded-For
El encabezado de solicitud X-Forwarded-For (XFF) es un encabezado estándar de facto que ayuda a identificar la dirección IP de origen de un cliente que se conecta a un servidor web a través de un proxy.
Cuando un cliente se conecta directamente a un servidor, la dirección IP del cliente se envía al servidor (y a menudo se escribe en los registros de acceso del servidor). Pero si una conexión de cliente pasa a través de cualquier proxy directo o inverso, el servidor solo ve la dirección IP del proxy final, lo que a menudo tiene poca utilidad. Por lo tanto, para proporcionar una dirección IP del cliente más útil al servidor, se utiliza el encabezado de solicitud X-Forwarded-For.
HTTP Proxy puede entender y analizar encabezados relacionados, pero existe la necesidad de agregar el encabezado HTTP X-Forwarded-For a los paquetes enviados por el cliente. Normalmente, los balanceadores de carga manejan este proceso. Si un balanceador de carga agrega este encabezado a las solicitudes del cliente antes de reenviarlas a HTTP Proxy, entonces HTTP Proxy analiza el encabezado y la dirección IP real del cliente puede mostrarse en los registros de HTTP Proxy en lugar de la dirección IP del balanceador de carga.
Se deben seguir los siguientes pasos para beneficiarse de esta función:
- Ingrese a la CLI de Kron PAM como pamuser.
- sudo vi /pam/http-proxy/conf/http_proxy.properties
- http.proxy.client.ip.header=X-Forwarded-For
- :wq!
- sudo systemctl restart pam-http
Si la página a la que accede el cliente utiliza el protocolo HTTP sin cifrar, el balanceador de carga puede agregar esta etiqueta a los paquetes transmitidos en texto plano. Sin embargo, si la página a la que se accede a través del proxy HTTP utiliza el protocolo HTTPS cifrado, dado que los paquetes entrantes estarán cifrados, estos paquetes deben descifrarse en el balanceador de carga y luego volver a cifrarse en el balanceador de carga y enviarse al HTTP Proxy después de agregar el encabezado correspondiente. Este proceso solo puede realizarse mediante SSL Offloading en el balanceador de carga. Para evitar configuraciones complejas, el método más adecuado para transmitir la dirección IP del cliente directamente al HTTP Proxy a través del balanceador de carga sería ejecutar el balanceador de carga en modo transparente.