Virtualhost par défaut : éternel problème

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Toma
WRInaute discret
WRInaute discret
 
Messages: 208
Inscription: 18 Jan 2006

Virtualhost par défaut : éternel problème

Message le Ven Fév 25, 2011 0:59

Bonsoir,

j'ai un serveur configuré avec des virtualhost, tout marche très bien. Les configurations sont de ce type :

Code: Tout sélectionner
<VirtualHost *:80>
        DocumentRoot /var/www/domaine1
        CustomLog /var/log/apache2/domaine1.access.log combined
        ServerName domaine1
</VirtualHost>

J'utilise un fichier par site dans sites-available et je les active avec a2ensite, tout comme il faut.
Les problèmes arrivent quand j'essaie de mettre un virtualhost par défaut (par exemple pour prendre en charge une connexion par l'ip du serveur). Je rajoute alors un fichier "mydefault" qui contient par exemple:

Code: Tout sélectionner
<VirtualHost _default_:80>
        DocumentRoot /var/www/domaine2
        CustomLog /var/log/apache2/domaine2.access.log combined
</VirtualHost>

Je l'active et malheur, tous les domaines sont redirigés vers domaine2. En gros, le virtualhost par défaut prend le pas sur tous les autres. Comment faire pour empêcher ça ? Ça n'est pourtant pas le comportement normal d'apache d'après ce que j'ai compris dans la doc... Savez-vous d'où peut venir le problème ?


Toma
WRInaute discret
WRInaute discret
 
Messages: 208
Inscription: 18 Jan 2006

Re: Virtualhost par défaut : éternel problème

Message le Lun Fév 28, 2011 2:51

Bon... je vois que je n'ai pas trop de succès... :? Est-ce que quelqu'un pourrait alors juste me dire si c'est normal ou non ? Juste pour que je sache si je doit continuer à chercher mon erreur.

Sinon, j'ai une question subsidiaire, comment vous gérez les connections sur l'ip de votre serveur ? Redirection ? Domaine par défaut (mais alors il y a duplicate content) ?

fred2541
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 23 Déc 2005

Re: Virtualhost par défaut : éternel problème

Message le Lun Fév 28, 2011 15:06

en ce qui me concerne sur apache2 debian6 j'utilise le fichier /etc/apache2/sites-available/default comme ca:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
<Directory />
Deny from all
</Directory>
</VirtualHost>


Blount
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 430
Inscription: 18 Nov 2010

Re: Virtualhost par défaut : éternel problème

Message le Lun Fév 28, 2011 15:26

Code: Tout sélectionner
<VirtualHost _default_:80>


Pourquoi préciser l'IP ?

Préciser l'IP est utile seulement si ton serveur possède plusieurs adresse IP ET que tu souhaites n'utiliser qu'une adresse IP spécifique.
Si dans ton cas, tu n'as pas besoin du port 80 sur les autres IP (si tu en as plusieurs), met simplement une étoile comme sur les autres configuration des VHOST.


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Virtualhost par défaut : éternel problème

Message le Lun Fév 28, 2011 17:04

Il te manque la directive :
ServerName
(et ServerAlias)
En cas de "conflit" (pas de ServerName de défini par exemple) la priorité se fait par ordre alphabénumérique.

@Blount: Préciser l'IP est une bonne conduite. Comme ça si tu as 2 IPs sur ton dédié, tu peux mettre un lighttpd sur un port 80, apache sur l'autre ;)

Edit, je n'avais pas vu que tu avais bien mis ton ServerName, tente de le mettre en "haut".
Sinon tu dois avoir une directive qui overlaps l'autre.


Toma
WRInaute discret
WRInaute discret
 
Messages: 208
Inscription: 18 Jan 2006

Re: Virtualhost par défaut : éternel problème

Message le Lun Fév 28, 2011 23:09

Ok, c'est pas encore très clair mais je commence à comprendre certaines choses. J'ai bien relu la donc Apache.

Le _default_ ne sert effectivement à rien dans mon cas puisqu'il est censé donner une configuration par défaut si l'ip du serveur n'est pas trouvée dans le virtualhost. Or j'ai des « * » partout donc ça sert à rien.

Par contre d'après les expériences que je viens de faire, le fait de mettre un virtualhost par défaut sans ServerName est une hérésie car apache le comprend comme n'importe quel ServerName. Ainsi en fonction de la position alphabétique des virtualHost par rapport au virtualHost par défault, il seront fonctionnels ou non. (j'ai vu cette solution sur de nombreux sites pourtant)
J'ai alors essayé en le mettant à la fin des déclarations avec un nom qui commence par « z ». Ça fonctionne bien sauf pour les accès sans host (directement par l'ip) qui sont eux dirigés sur le premier virtualHost.

Donc la solution c'est de mettre le virtualHost par défaut en premier avec un serveurName bidon. Pour ne passer devant aucun autre virtualHost tout en récupérant tous les domaines non déclarés et les ip.


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19599
Inscription: 8 Aoû 2004

Re: Virtualhost par défaut : éternel problème

Message le Mar Mar 01, 2011 0:16

moi je les ai mis en 1°, sans servername mais défini pour chaque ip et je renvoie ces accès directs sur un répertoire d'accès interdit, car aucun accès n'est sensé être effectué sur l'ip


Blount
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 430
Inscription: 18 Nov 2010

Re: Virtualhost par défaut : éternel problème

Message le Mar Mar 01, 2011 8:45

Dans le ServerName, tu peux très bien mettre un IP.
Les gens arrivant directement sur cette IP seront attrapés par le vhost par défaut.


Axiso
WRInaute impliqué
WRInaute impliqué
 
Messages: 594
Inscription: 8 Avr 2004

Re: Virtualhost par défaut : éternel problème

Message le Mar Mar 01, 2011 9:13

Ici j'affiche une bête 404 pour la requête directe sur l'IP, afin qu'aucun site ne soit servi par défaut.
Ca donne ceci.

Un hôte virtuel par adresse IP du serveur :
/etc/apache2/sites-enabled/0-default_$IP
Code: Tout sélectionner
NameVirtualHost $IP:80
<VirtualHost $IP:80>
  ServerName $IP
  DocumentRoot /home/www/error
</VirtualHost>


Pour les hôtes utiles :
Code: Tout sélectionner
<VirtualHost $IP:80>
  ServerName $DOMAINE
  DocumentRoot /home/www/$DOMAINE
</VirtualHost>


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19599
Inscription: 8 Aoû 2004

Re: Virtualhost par défaut : éternel problème

Message le Mar Mar 01, 2011 9:27

moi j'ai préféré mettre plutôt un 401, ce qui correspond mieux à ma volonté de ne pas avoir d'accès par ce biais


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités