Tengo un problema con el servidor HAProxy. Quiero reenviar en el encabezado una IP del cliente. Casi lo hago, pero hay un caso interesante y no puedo resolverlo. Necesito escribir la IP del cliente en 2 lugares en el encabezado, en las etiquetas X-CLIENT-IP y X-FORWARDED-FOR.
El problema es: cuando uso
option http-server-close
option forwardfor
En el servidor de destino, veo en el encabezado X-FORWARDED-FOR = xxx.xxx.xxx.xxx (ip del cliente) pero no hay un encabezado x-client-ip.
Cuando uso:
option forwardfor header X-Client-IP
option http-server-close
En el servidor de destino, veo el encabezado X-CLIENT-IP = xxx.xxx.xxx (IP del cliente) pero X-FORWARDED-FOR = xxx.xxx.xxx.xxx (HAProxy ip)
Necesito ver en el encabezado de destino dónde X-CLIENT-IP y X-FORWARDED-FOR tienen el valor de IP del cliente.
Intento mezclar configuraciones como
option forwardfor
option forwardfor header X-Client-IP
option http-server-close
Sin efecto Tampoco puedo instalar ningún módulo. El objetivo es IIS.
¿Algunas ideas? :(
Si desea utilizar ambos, deberá agregar el segundo con una
http-request
palabra clave.fuente
X-CLIENT-IP
el cliente no lo está configurando, sino HAProxy en función de la IP de origen. Sugeriría dejar estos comentarios en preguntas donde sea relevante para no confundir a los lectores.add-header
no elimina elX-CLIENT-IP
que haya sido configurado por el cliente. Es por eso que @Der_Meister recomendó usar en suset-header
lugar. Sugiero editar su respuesta para usarset-header
en su lugar.La respuesta sugerida anteriormente que no funcionó para KacproSo solo necesitaba leer el valor agregando
&[...]
, por lo que esto debería funcionar bien:fuente
Probar con HAproxy 1.7 esta es la sintaxis correcta que hace que esto funcione, sin los corchetes alrededor de X-Forward-For
fuente
Puede instalar un módulo llamado mod_rpaf en sus servidores de fondo. Esto copia la X-FORWARDED-FOR IP a la X-CLIENT-IP. Para más información ver esto . En Windows debería tener módulos similares, algo así como filtros X-Fordered-For ASAPI.
fuente