1 votes

apache - journalisation des hôtes virtuels

J'ai une configuration de virtualhost avec usecanonicalname désactivé.

J'ai défini ServerName domain.com et ServerAlias *.domain.com dans le serveur virtuel.

L'utilisation de la chaîne %v LogFormat d'apache2 ne capturera que domain.com, et j'essaie de faire en sorte qu'elle capture foo.domain.com afin de pouvoir diviser les journaux en conséquence.

Le LogFormat que j'utilise actuellement est le suivant

LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined

1voto

collimarco Points 6000

Utilisation de %{Host}i sur votre format de journal devrait vous donner le contenu de l'en-tête "Host"... ce qui semble être ce que vous voulez.

Citation de la documentation :

%{Foobar}i - Le contenu de la ou des lignes d'en-tête Foobar : de la demande envoyée au serveur. au serveur. Les modifications apportées par d'autres modules (par exemple, mod_headers) affectent cela. Si vous êtes intéressé par le contenu de l'en-tête de la requête avant lorsque la plupart des modules l'auraient modifié, utilisez mod_setenvif pour copier l'en-tête dans une variable d'environnement interne et enregistrez cette valeur avec la balise avec le %{VARNAME}e décrit ci-dessus.

http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats

J'espère que cela vous aidera.

0voto

David Mackintosh Points 14093

Pourquoi ne pas simplement coller une directive CustomLog et ErrorLog séparée dans chaque définition d'hôte virtuel ?

<VirtualHost *:80>
ServerAdmin webmaster@place
DocumentRoot /var/www/hosted/place/root
ServerName www.place
AddHandler cgi-script .pl
CustomLog /var/www/hosted/place/logs/access_log combined
ErrorLog /var/www/hosted/place/logs/error_log
</VirtualHost>

0 votes

Parce que je ne veux pas définir un nouveau virtualhost pour chaque sous-domaine que nous avons, il n'y en a pas besoin, ils partagent tous les mêmes directives. Je veux accepter les demandes pour *.foo.com à un seul endroit, mais avoir des journaux qui disent a.foo.com, b.foo.com, c.foo.com etc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X