Formato de log para capturar o nome do host solicitado em um cenário * .domain.com?

5

Eu tenho um Apache 2.2 VirtualHost com um * .example.com ServerName . Isso é necessário para o meu cenário, todos os subdomínios são tratados com o mesmo site.

Agora, no log de acesso, estou tentando descobrir uma variável LogFormat (ou caminho) que me permitirá registrar o pedido nome de domínio. Se eu usar o formato vhost_combined , tudo que eu obtenho no meu log de acesso são as entradas * .example.com, não o vhost real que foi solicitado .

Alguém sabe como fazer isso?

    
por Dhiraj Gupta 19.04.2010 / 22:37

2 respostas

14

Você pode usar %{headername}i para colocar o conteúdo de qualquer cabeçalho na diretiva LogFormat, portanto %{Host}i fornecerá o que o cliente colocou no cabeçalho Host: da solicitação, fornecendo exatamente o que você deseja.

Veja os documentos no link

    
por 19.04.2010 / 22:55
2

Quando você está usando, por exemplo, o vhost_combined formato de log:

CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined

Você pode adaptar vhost_combined adicionando %{Host}i , por exemplo

LogFormat "%v:%p %h %l %u %t %{Host}i \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    
por 30.04.2015 / 17:51