Como configurar melhor o log do IIS7 para capturar o cabeçalho “HTTP_X_FORWARDED_FOR”

Como configurar melhor o log do IIS7 para capturar o cabeçalho “HTTP_X_FORWARDED_FOR”

Temos servidores IIS7 atrás de um proxy reverso nginx.

O proxy reverso está enviando o cabeçalho padrão "HTTP_X_FORWARDED_FOR" com o endereço IP do visitante, mas o log do IIS7 está registrando apenas o endereço IP do servidor nginx (o que faz sentido, mas não é o que eu quero).

Como posso dizer ao IIS7 para registrar o cabeçalho "HTTP_X_FORWARDED_FOR" (ou registrá-lo adicionalmente)?

(nota: sou um administrador do Linux, não do Windows, portanto, instruções e links explícitos são sinceramente apreciados)

Responder1

Isso não está embutido no IIS, mas há um módulo que você pode instalar que executará essa funcionalidade. É chamado de auxiliar ARR, mas funcionará para qualquer proxy na frente do IIS:

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

Responder2

Agora existe um módulo IIS7 que permitirá registrar cabeçalhos personalizados.

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

Responder3

Embora a pergunta esteja marcada com iis-7, este é o principal resultado ao pesquisar em X-Forwarded-For e IIS, então pensei em prosseguir e fornecer essas informações para o IIS 8.5.

IIS 8.5 e posterior

O IIS 8.5 introduziu oRegistro aprimoradorecurso que permite facilmente ao administrador registrar cabeçalhos de solicitação HTTP, como X-Forwarded-For. Esta resposta foi adaptada da página vinculada.

  1. AbrirGerenciador de IIS.

  2. Selecione o site ou servidor noConexõespainel e clique duas vezesExploração madeireira. Observe que o log aprimorado está disponível somente para log em nível de site - se você selecionar o servidor na caixaConexõespainel, então oOs campos personalizadosseção doCampos de registro do W3Ccaixa de diálogo está desabilitada.

  3. NoFormatarcampo abaixoArquivo de log, selecioneW3Ce depois cliqueSelecione Campos....

  4. NoCampos de registro do W3Ccaixa de diálogo, clique emAdicionar campo.... Observe que o registro em log aprimorado está disponível somente para registro em nível de site - se você selecionou o servidor no campoConexõespainel, entãoAdicionar campo...está desabilitado.

  5. NoAdicionar campo personalizadocaixa de diálogo, insira umNome do campocomo c-ip-originalidentificar o campo personalizado no arquivo de log. Observe que o nome do campo não pode conter espaços.

  6. SelecioneCabeçalho da solicitaçãonoTipo de fontelista.

  7. EntraX-FORWARDED-FORFonte.

  8. CliqueOK.

  9. CliqueOK.

  10. CliqueAplicarnoAçõespainel para aplicar a nova configuração.

Depois que os campos personalizados forem configurados, o IIS criará novos arquivos de log de texto com "_x" anexado ao nome do arquivo para indicar que o arquivo contém campos personalizados.

Observe que o tamanho total dos dados coletados de todos os campos personalizados não pode exceder 65.536 bytes. Se o total exceder 65.536 bytes, o IIS truncará os dados.

informação relacionada