SSL appliqué à tous les VHOSTs ?

Questions sur l'installation d'Apache/PHP/MySQL.

Modérateur : Modérateurs

naabistic
Membre
Membre
Messages : 12
Inscription : sam. 08 nov. 2008, 19:43

SSL appliqué à tous les VHOSTs ?

Messagepar naabistic » sam. 08 nov. 2008, 19:50

Bonjour à tous.

Je rencontre actuellement un problème étrange de SSL avec Apache2. Bon ok je suis débutant, mais je vais tenter de vous expliquer clairement mon problème.

Mon serveur Web apache gère 2vhosts (vhost1, et vhost2) dont voici les fichiers :

vhost1

Code : Tout sélectionner

NameVirtualHost vhost1.test.com:80

<VirtualHost vhost1.test.com:80>
   ServerAdmin admin@test.com
   ServerName vhost1.test.com
   
   DocumentRoot /home/ftp/vhost1/

   <Directory /home/ftp/vhost1/>
        Options -Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
   </Directory>
</VirtualHost>


vhost2:

Code : Tout sélectionner

NameVirtualHost vhost2.test.com:80

<VirtualHost vhost2.test.com:80>
   ServerAdmin admin@test.com
   ServerName vhost2.test.com
   
   DocumentRoot /home/ftp/vhost2/

   <Directory /home/ftp/vhost2/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
   </Directory>
</VirtualHost>



J’ai souhaité mettre en place un troisième vhost, qui lui sera accessible via HTTPS. Je l'ai donc défini comme suit:

vhost3:

Code : Tout sélectionner

<VirtualHost vhost3.test.com:443>
       ServerAdmin admin@test.com
       ServerName vhost3.test.com
      
       DocumentRoot /home/www/vhost3/

      SSLEngine On
      SSLCertificateKeyFile /etc/apache2/ssl/apache.pem
      SSLCertificateFile /etc/apache2/ssl/apache.pem


       <Directory /home/www/vhost3/>
               Options None
               AllowOverride None
              Order allow,deny
               allow from all
       </Directory>

</VirtualHost>




Tout fonctionne correctement. Seulement, lorsque j’essaie d’aller sur vhost1 ou vhost2 en HTTPS, celui-ci me « redirige » vers le https vhost3… C'est comme si le SSL était appliqué à TOUS mes vhosts. Est-ce normal ? Comment désactiver ceci ? :roll:

Avatar de l’utilisateur
dexmon
Gourou
Gourou
Messages : 793
Inscription : sam. 18 juin 2005, 9:55
Localisation : /usr/local/apache
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar dexmon » sam. 08 nov. 2008, 20:45

Essayé d'indiquer l'adresse ip au lieu du nom:

Code : Tout sélectionner

NameVirtualHost xxx.xxx.xxx.xxx:80

<VirtualHost xxx.xxx.xxx.xxx:80>


aux 3
ImageUNIX foreverImage
Avant toute demande de support, vérifiez votre fichier error.log Apache.
----------------------------------------

naabistic
Membre
Membre
Messages : 12
Inscription : sam. 08 nov. 2008, 19:43

Re: SSL appliqué à tous les VHOSTs ?

Messagepar naabistic » sam. 08 nov. 2008, 21:42

Au risque de passer pour un idiot heu... je n'ai qu'une adresse ip ...

Comment Apache pourra distinguer le site (c'est à dire le Vhost) auquel le client voudra accéder ?

Avatar de l’utilisateur
dexmon
Gourou
Gourou
Messages : 793
Inscription : sam. 18 juin 2005, 9:55
Localisation : /usr/local/apache
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar dexmon » sam. 08 nov. 2008, 22:18

Avec le ServerName
ImageUNIX foreverImage
Avant toute demande de support, vérifiez votre fichier error.log Apache.
----------------------------------------

naabistic
Membre
Membre
Messages : 12
Inscription : sam. 08 nov. 2008, 19:43

Re: SSL appliqué à tous les VHOSTs ?

Messagepar naabistic » dim. 09 nov. 2008, 9:45

Ca ne fonctionne toujours pas ... :(

Le problème est-il reproductible chez vous également?

naabistic
Membre
Membre
Messages : 12
Inscription : sam. 08 nov. 2008, 19:43

Re: SSL appliqué à tous les VHOSTs ?

Messagepar naabistic » dim. 09 nov. 2008, 10:00

Je viens de faire un petit test. J'ai passé vhost2 en HTTP, et HTTPS. Les deux fonctionnent et sont bien dissociés de VHOST3 qui lui ne fonctionne qu'en HTTPS. Seulement quand je vais en vhost1 en HTTPS (qui n'est pas configuré pour du SSL), ca me redirige vers vhost3 en https...

Si maintenant je désactive totalement vhost3, alors toutes les demandes HTTPS sur vhost1 et vhost2 sont redirigées sur vhost3.

Etrange.Faut-il déclarer quelquepart un truc du genre "*:443" et le faire rediriger vers une page à la noix ? :S

Avatar de l’utilisateur
dexmon
Gourou
Gourou
Messages : 793
Inscription : sam. 18 juin 2005, 9:55
Localisation : /usr/local/apache
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar dexmon » dim. 09 nov. 2008, 10:55

Que disent les fichier error.log pour apache sans ssl et avec ssl ? (les fichiers sont séparés pour les deux modes)
ImageUNIX foreverImage
Avant toute demande de support, vérifiez votre fichier error.log Apache.
----------------------------------------

naabistic
Membre
Membre
Messages : 12
Inscription : sam. 08 nov. 2008, 19:43

Re: SSL appliqué à tous les VHOSTs ?

Messagepar naabistic » dim. 09 nov. 2008, 11:39

Je n'ai qu'un seul fichier error.log se trouvant dans le répertoire /var/log/apache2. Voici son contenu :

Code : Tout sélectionner

[Sun Nov 09 11:30:26 2008] [notice] ModSecurity for Apache/2.5.4 (http://www.modsecurity.org/) configured.
[Sun Nov 09 11:30:25 2008] [warn] NameVirtualHost 192.168.2.25:80 has no VirtualHosts
[Sun Nov 09 11:30:25 2008] [warn] NameVirtualHost 192.168.2.25:80 has no VirtualHosts
[Sun Nov 09 11:30:25 2008] [warn] NameVirtualHost 192.168.2.25:80 has no VirtualHosts
[Sun Nov 09 11:31:28 2008] [error] SecServerSignature: original signature too short. Please set ServerTokens to Full.


J'ai beau faire un updatedb, puis un locate error.log, je n'ai que celui-ci. J'ai oublié de faire un truc ou ...? ^^

Avatar de l’utilisateur
dexmon
Gourou
Gourou
Messages : 793
Inscription : sam. 18 juin 2005, 9:55
Localisation : /usr/local/apache
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar dexmon » dim. 09 nov. 2008, 11:44

Vous avez bien placez une seule directive NameVirtualHost pour la totalité de vos vhosts (port 80) ?
Je ne suis plus sûr de moi mais je pense également que vous devez placer une directive NameVirtualHost sur le port 443
Qu'on me rattrape si j'ai dit une connerie.

La directive NameVirtualHost n'apparaît donc qu'une seule et unique fois quelque soit le nombre de domaines que vous hébergez et ne contient que l'ip du serveur (+ le port si vous écoutez sur différents ports)
ImageUNIX foreverImage
Avant toute demande de support, vérifiez votre fichier error.log Apache.
----------------------------------------

Avatar de l’utilisateur
remifedora
Membre avancé
Membre avancé
Messages : 94
Inscription : mar. 27 févr. 2007, 14:00
Localisation : Champagne
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar remifedora » dim. 09 nov. 2008, 11:53

Aucun intérêt de faire des hôtes virtuelles nommés sur une seule adresse IP.

Il faut impérativement 1 adresse IP (ou un port) différente par hôte SSL.

La négociation du chiffrement (échange du certificat) se fait en amont du protocol http et donc avant la lecture des entêtes inclus dans la requete permettant de définir quel est le serveur virtuel utilisé (ce qui se passe en http non chiffré).

++
Des RPM LAMP pour Fedora / RHEL / CentOS sur http://rpms.famillecollet.com/

Avatar de l’utilisateur
dexmon
Gourou
Gourou
Messages : 793
Inscription : sam. 18 juin 2005, 9:55
Localisation : /usr/local/apache
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar dexmon » dim. 09 nov. 2008, 11:55

Tu as bien lu son problème du début ?
ImageUNIX foreverImage
Avant toute demande de support, vérifiez votre fichier error.log Apache.
----------------------------------------

Avatar de l’utilisateur
remifedora
Membre avancé
Membre avancé
Messages : 94
Inscription : mar. 27 févr. 2007, 14:00
Localisation : Champagne
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar remifedora » dim. 09 nov. 2008, 12:09

Oui.

Ma remarque concernait juste l'ajout du NameVirtualHost sur le 443.

Normalement :

Code : Tout sélectionner

NameVirtualHost *:80

# pour chaque hote HTTP
<VirtualHost *:80>
     ServerName  nom.de.l.hote
</VirtualHost>

# Pour le hote HTTPS
<VirtualHost *:443>
</VirtualHost>
Des RPM LAMP pour Fedora / RHEL / CentOS sur http://rpms.famillecollet.com/

naabistic
Membre
Membre
Messages : 12
Inscription : sam. 08 nov. 2008, 19:43

Re: SSL appliqué à tous les VHOSTs ?

Messagepar naabistic » dim. 09 nov. 2008, 12:13

Je viens de ne mettre qu'une seule déclaration de Namevirtualhost. Je me retrouve ainsi avec la structure suivante :

lignes ajoutées dans le fichier default:

Code : Tout sélectionner

NameVirtualHost 192.168.2.25:80
NameVirtualHost *:443
<VirtualHost *:443>
</VirtualHost>


vhost1:

Code : Tout sélectionner

<VirtualHost 192.168.2.25:80>
   ServerName vhost1.test.com
   DocumentRoot /home/ftp/vhost1/
   
   <Directory /home/ftp/vhost1/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
   </Directory>
</VirtualHost>


vhost2:

Code : Tout sélectionner

<VirtualHost 192.168.2.25:80>
   ServerName vhost2.test.com
   DocumentRoot /home/ftp/vhost2/
   
   <Directory /home/ftp/vhost2/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
   </Directory>
</VirtualHost>


vhost3:

Code : Tout sélectionner

<VirtualHost 192.168.2.25:443>
       ServerName vhost3.test.com
       DocumentRoot /home/www/vhost3/

      SSLEngine On
      SSLCertificateKeyFile /etc/apache2/ssl/apache.pem
      SSLCertificateFile /etc/apache2/ssl/apache.pem


       <Directory /home/www/vhost3/>
               Options None
               AllowOverride None
              Order allow,deny
               allow from all
       </Directory>
</VirtualHost>


Je n'ai effectivement plus de warning dans mon error.log, cependant mon problème est toujours présent... :(
Dernière édition par naabistic le dim. 09 nov. 2008, 12:22, édité 2 fois.

naabistic
Membre
Membre
Messages : 12
Inscription : sam. 08 nov. 2008, 19:43

Re: SSL appliqué à tous les VHOSTs ?

Messagepar naabistic » dim. 09 nov. 2008, 12:16

remifedora a écrit :Aucun intérêt de faire des hôtes virtuelles nommés sur une seule adresse IP.
Il faut impérativement 1 adresse IP (ou un port) différente par hôte SSL.
La négociation du chiffrement (échange du certificat) se fait en amont du protocol http et donc avant la lecture des entêtes inclus dans la requete permettant de définir quel est le serveur virtuel utilisé (ce qui se passe en http non chiffré).
++


Bonjour,

Je crois que tu n'as pas saisi mon problème (ou je me suis mal fait comprendre ou soit je ne comprends pas ta réponse). J'ai 1 IP, et 1vhost SSL. Tout ce que je souhaite c'est n'avoir que ce vhost là en SSL, et pas les autres...

Avatar de l’utilisateur
remifedora
Membre avancé
Membre avancé
Messages : 94
Inscription : mar. 27 févr. 2007, 14:00
Localisation : Champagne
Contact :

Re: SSL appliqué à tous les VHOSTs ?

Messagepar remifedora » dim. 09 nov. 2008, 12:35

Ben si, j'ai très bien saisi et la réponse est dans mon premier post.

Tous tes hôtes pointent vers la même adresse.

Donc quelque soit le nom entré, si tu passe en https, tu arrivera sur le "seul" hôte SSL disponible pour cette adresse. Par contre tu dois avoir un message d'erreur indiquant que le certificat ne correspond pas.

C'est normal.

++

P.S. tu dis "Je viens de ne mettre qu'une seule déclaration de Namevirtualhost." mais j'en vois 2 dans ton code.
Des RPM LAMP pour Fedora / RHEL / CentOS sur http://rpms.famillecollet.com/


Revenir vers « Installation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités