Cómo configurar mejor el registro de IIS7 para capturar el encabezado "HTTP_X_FORWARDED_FOR"

Cómo configurar mejor el registro de IIS7 para capturar el encabezado "HTTP_X_FORWARDED_FOR"

Tenemos servidores IIS7 detrás de un proxy inverso nginx.

El proxy inverso envía el encabezado estándar "HTTP_X_FORWARDED_FOR" con la dirección IP del visitante, pero el registro de IIS7 solo registra la dirección IP del servidor nginx (lo cual tiene sentido, pero no es lo que quiero).

¿Cómo puedo decirle a IIS7 que registre el encabezado "HTTP_X_FORWARDED_FOR" (o que lo registre adicionalmente)?

(nota: soy administrador de Linux, no de Windows, por lo que agradezco sinceramente las instrucciones y enlaces explícitos)

Respuesta1

Esto no está integrado en IIS, pero hay un módulo que puede instalar y que realizará esta funcionalidad. Se llama ayudante ARR, pero funcionará para cualquier proxy frente a IIS:

http://blogs.iis.net/anilr/archive/2009/03/03/client-ip-not-logged-on-content-server-when-using-arr.aspx

Respuesta2

Ahora existe un módulo IIS7 que le permitirá registrar encabezados personalizados.

Cómo: http://learn.iis.net/page.aspx/579/advanced-logging-for-iis-70---custom-logging/

Respuesta3

Si bien la pregunta está etiquetada con iis-7, este es el principal resultado al buscar en X-Forwarded-For e IIS, por lo que pensé en seguir adelante y proporcionar esta información para IIS 8.5.

IIS 8.5 y posterior

IIS 8.5 introdujo elRegistro mejoradocaracterística que permite fácilmente al administrador registrar encabezados de solicitudes HTTP como X-Forwarded-For. Esta respuesta está adaptada de la página vinculada.

  1. AbiertoAdministrador de IIS.

  2. Seleccione el sitio o servidor en elConexionespanel y luego haga doble clicInicio sesión. Tenga en cuenta que el registro mejorado solo está disponible para el registro a nivel de sitio; si selecciona el servidor en elConexionespanel, luego elCampos Personalizadossección de laCampos de registro del W3CEl diálogo está deshabilitado.

  3. En elFormatocampo bajoArchivo de registro, seleccionarW3Cy luego haga clicSeleccionar campos....

  4. En elCampos de registro del W3Ccuadro de diálogo, haga clic enAgregue campo.... Tenga en cuenta que el registro mejorado solo está disponible para el registro a nivel de sitio; si seleccionó el servidor en elConexionespanel, entoncesAgregue campo...está desactivado.

  5. En elAgregar campo personalizadocuadro de diálogo, introduzca unNombre del campocomo por ejemplo c-ip-originalpara identificar el campo personalizado dentro del archivo de registro. Tenga en cuenta que el nombre del campo no puede contener espacios.

  6. SeleccionarEncabezado de solicituden eltipo de fuentelista.

  7. Entrar X-FORWARDED-FORenFuente.

  8. Hacer clicDE ACUERDO.

  9. Hacer clicDE ACUERDO.

  10. Hacer clicAplicaren elComportamientopara aplicar la nueva configuración.

Una vez que se hayan configurado los campos personalizados, IIS creará nuevos archivos de registro de texto con "_x" agregado al nombre del archivo para indicar que el archivo contiene campos personalizados.

Tenga en cuenta que el tamaño total de los datos recopilados de todos los campos personalizados no puede exceder los 65.536 bytes. Si el total supera los 65.536 bytes, IIS truncará los datos.

información relacionada