Hôtes virtuels SSL multiples
Alors on trouve sur internet une flopper de tuto pour configurer sous Apache des VirtualHost SSL multiple. On a beau les lire et les re-lire, essayer des centaines de combinaisons pour chaque fichier de configuration, on en vient toujours au même résultat : C’est le premier vhost qui est retourné !
Explication technique
Section titled “Explication technique”Ce que la plus part des tuto ne dit pas c’est déjà qu’il faut avoir des version d’Apache et de OpenSSL très récente pour que ça ai une chance de fonctionné. Mais même avec ça, je n’ai pas réussi à le faire fonctionner.
La raison technique a cette impossibilité est la suivante :
Du coup, quand ça ne fonctionne pas, deux choix reste possible pour contourner le problème :
- Utiliser plusieurs adresse IP
- Utiliser plusieurs ports
Solution
Section titled “Solution”La solution pas trop compliqué est donc d’utiliser plusieurs port, mais ça demande d’avoir un frontal qui va faire la redirection vers les différents port selon le nom de domaine demandé. Mais dans le cas des phases de développement est pas toujours pratique ni facile d’avoir ce genre d’architecture en place pour de simple développements.
Du coup on va configurer Apache sur plusieurs adresse IP. Par contre cette solution ne fonctionne un serveur Apache Windows (ou du moins je sais pas comment) car il est nécessaire de pouvoir configurer plusieurs adresse IP sur une même interface réseau.
Configuration système
Section titled “Configuration système”Suivre le tuto pour [[Avoir plusieurs adresses IP sur la même interface|Avoir-plusieurs-adresses-IP-sur-la-meme-interface]] …
Configuration Apache
Section titled “Configuration Apache”Fichier d’écoute
Section titled “Fichier d’écoute”Ensuite, une fois que l’on a plusieurs adresse IP, il faut demander à Apache d’écouter sur ces adresse. Dans /etc/apache2/port.conf
On n’utilise pas la notation *:443 car il nous demanderait lors du démarrage un vhost par défaut pour *:443 et ce
n’est pas ce que l’on veut faire.
Fichiers des hôtes virtuel
Section titled “Fichiers des hôtes virtuel”Ensuite dans /etc/apache2/sites-available/ on va créer un premier fichier pour le premier serveur virtuel :
Et un fichier deuxième fichier pour le deuxième hôte :
Je ne m’attarde pas sur les différentes options pour le SSL ou les droits des répertoires, le sujet du tuto n’est pas là.
Le point d’intérêt se trouve dans les premières lignes de chaque fichier. On remarque que l’on utilise les adresse IP
au lieu de ”*”.
Autre point intéressant dans le deuxième fichier on définit des alias qui vont permettre d’arriver sur le même serveur
SSL avec des noms de sous-domaine différent.
Pour finir
Section titled “Pour finir”Pour finir, on active les deux sites :
Puis on redémarre le serveur Apache :