Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

336
Vistas
¿Apache httpd (mod_proxy) parece descartar/ignorar la tercera dirección IP en la cadena X-Forwarded-For?

Considere el escenario/flujo:

remote user (client) > proxy1 > proxy2 > AWS ALB > httpd/reverse_proxy > my_application

A medida que la solicitud del usuario sale de su red, el encabezado X-Forwarded-For (XFF) se agrega con la dirección IP de cada proxy sucesivo. Por ejemplo, cuando llega al ALB, el encabezado XFF contiene "192.168.1.100, 100.99.98.97". Luego, ALB agregará ClientIP a este encabezado y, en este caso, esa es la IP de proxy2. Finalmente, cuando la solicitud llega al proxy inverso que se encuentra frente a mi aplicación, el encabezado XFF ahora es: "192.168.1.100, 100.99.98.97, 95.94.93.92".

Problema que veo: en el proxy inverso, httpd parece estar ignorando o descartando la última/más correcta IP en la cadena de encabezado X-Forwarded-For, específicamente cuando hay más de 2 direcciones.

  • tcpdump en el proxy inverso muestra que el encabezado contiene la cadena completa , por lo que AWS ALB está haciendo lo que debe y agregando la dirección de proxy2.
  • al imprimir el encabezado XFF en el registro de acceso httpd, solo veo impresas las 2 primeras direcciones de la cadena.
  • lo que es más importante, al intentar tomar medidas en la tercera dirección esperada, esta prueba falla, lo que demuestra (creo) que la tercera dirección se descarta. Por 'tomar acción' me refiero a intentar invocar la directiva Require (mod_authz_host), después de configurar RemoteIPHeader X-Forwarded-For en el vhost.
  • Si proxy1 del flujo, veo la dirección de proxy2 en el encabezado XFF en el proxy inverso sin problemas.

No estoy seguro de lo que me perdí en mi configuración o prueba, y aunque no es un estándar, es común que haya varias direcciones en el encabezado XFF. Enfrento este problema solo en Apache httpd 2.4. En la versión 2.2, esto no fue un problema y puedo repetir la misma configuración/flujo y veo las 3 direcciones en la cadena. Gracias por adelantado.

host virtual de ejemplo:

 <VirtualHost *:80> ProxyPreserveHost On ServerName myapp.mydomain.com Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;" RemoteIPHeader X-Forwarded-For ProxyPass / http://10.1.2.3:8080/ timeout=3600 ProxyPassReverse "/" http://10.1.2.3:8080/ SetEnv proxy-sendchunked ErrorLog /var/log/httpd/error_myapp LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined2 CustomLog /var/log/httpd/access_myapp combined2 </VirtualHost>
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

A Vhost le falta la directiva RemoteIPTrustedProxy.

"Cuando se enumeran varias direcciones IP de agente de usuario delimitadas por comas en el valor del encabezado, se procesan en orden de derecha a izquierda. El procesamiento se detiene cuando no se confía en una dirección IP de agente de usuario dada para presentar la dirección IP anterior. El campo de encabezado se actualiza a esta lista restante de direcciones IP no confirmadas, o si todas las direcciones IP eran de confianza, este encabezado se elimina por completo de la solicitud".

https://httpd.apache.org/docs/2.4/mod/mod_remoteip.html#remoteiptrustedproxy

La respuesta estaba justo frente a mí, como de costumbre.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda