#1 Le 16/05/2010, à 21:06
- M@XflY
[RESOLU] Apache comment gerer plusieurs site web avec ou sans https ?
Bonjour,
voici ma configuration :
Ubuntu Serveur 8.04.4 LTS avec apache version 2.2.8
deux noms de domaine différents : SITE-A.fr et www.SITE-B.fr
voici ce que je cherche à faire :
je cherche à activer par défaut le https sur le : www.SITE-B.fr, et à laissé le SITE-A.fr en http
de tel façon à ce que si l'on tappe : http://www.SITE-B.fr ou http://SITE-B.fr on soit rediriger automatique sur l'adresse : https://www.SITE-B.fr
ce site nécessitant une sécurisation de la connexion
voici comment j'ai procédé :
j'ai créer deux vhosts avec l'un possédant le http+https et l'autre juste le http
SITE-B :
<VirtualHost www.SITE-B.fr:80>
ServerAdmin admin@SITE-B.fr
ServerName SITE-B.fr/
ServerAlias www.SITE-B.fr
Redirect / https://www.SITE-B.fr/
DocumentRoot /var/www/SITE-B/
</VirtualHost>
<VirtualHost www.SITE-B.fr:443>
ServerName www.SITE-B.fr
DocumentRoot /var/www/SITE-B
SSLEngine on
SSLCertificateFile /etc/apache2/SITE-B.crt
SSLCertificateKeyFile /etc/apache2/SITE-B.key
</VirtualHost>
SITE-A :
<VirtualHost SITE-A.fr:80>
ServerAdmin admin@SITE-A.fr
ServerName SITE-A.fr/
ServerAlias www.SITE-A.fr
DocumentRoot /var/lib/mediawiki/
</VirtualHost>
voici ma problématique :
j'ai ce message d'erreur quand je relance apache2
[Sun May 16 19:56:49 2010] [warn] VirtualHost SITE-A.fr:80 overlaps with VirtualHost www.SITE-B.fr:80, the first has precedence, perhaps you need a NameVirtualHost directive
donc en gros en français ça donne :
[Warn] VirtualHost SITE-A.fr: 80 chevauchements avec VirtualHost www.SITE-B.fr:80, le premier a la priorité, peut-être vous avez besoin d'une directive NameVirtualHost
mais je vois pas qu'elle type de directive NameVirtualHost je dois lui mettre.
Dernière modification par M@XflY (Le 29/05/2010, à 01:51)
Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.
Hors ligne
#2 Le 16/05/2010, à 21:31
- dudumomo
Re : [RESOLU] Apache comment gerer plusieurs site web avec ou sans https ?
Salut,
Je pense que tu dois ajouter:
NameVirtualHost *:80
au fichier etc/apache2/httpd.conf
Puis un petit:
sudo /etc/init.d/apache2 reload
Idipops, le réseau social des prestataires de services !
Tutorial and news on how to host your own server: http://freedif.org
Aidez la recherche avec BOINC et rejoignez la Mini-Team Libristes: http://www.boinc-af.org | http://libristes.boinc-af.net
Hors ligne
#3 Le 16/05/2010, à 22:21
- M@XflY
Re : [RESOLU] Apache comment gerer plusieurs site web avec ou sans https ?
si je rajoute ça au httpd.conf et que je relance apache2, ça me génère cette erreur
* Reloading web server config apache2
[Sun May 16 22:14:57 2010] [warn] NameVirtualHost *:80 has no VirtualHosts
deux question que je me pose :
-> dois je indiqué dans chacun des vhosts :
NameVirtualHost SITE-A.fr:80
NameVirtualHost www.SITE-B.fr:80
-> les parties :
<VirtualHost www.SITE-B.fr:80>
<VirtualHost www.SITE-B.fr:443>
<VirtualHost SITE-A.fr:80>
sont t'elle correcte ?
Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.
Hors ligne
#4 Le 16/05/2010, à 23:05
- M@XflY
Re : [RESOLU] Apache comment gerer plusieurs site web avec ou sans https ?
bon j'ai résolu une partie du problème :
j'ai bien rajouté NameVirtualHost *:80 dans /etc/apache2/httpd.conf, mais j'ai effectué également ces modifications dans les vhots pour que ça fonctionne :
SITES-B (https+http) :
<VirtualHost *:80>
ServerAdmin admin@SITE-B.fr
ServerName SITE-B.fr/
ServerAlias www.SITE-B.fr
Redirect / https://www.SITE-B.fr/
DocumentRoot /var/www/SITE-B
</VirtualHost>
<VirtualHost *:443>
ServerName www.SITE-B.fr
DocumentRoot /var/www/SITE-B
SSLEngine on
SSLCertificateFile /etc/apache2/SITE-B.crt
SSLCertificateKeyFile /etc/apache2/SITE-B.key
</VirtualHost>
et sur le SITE-A (http uniquement) :
<VirtualHost *:80>
ServerAdmin admin@SITE-A.fr
ServerName SITE-A.fr/
ServerAlias www.SITE-A.fr
DocumentRoot /var/lib/mediawiki/
</VirtualHost>
donc ça fonctionne nickel pour les deux sites, pour le SITE-A.fr j'y accède en http et pour le SITE-B.fr j'y accède en https sans soucis avec redirection automatique depuis le http.
Mais maintenant ça se complique :
j'ai un troisième vhosts : SITE-C qui correspond en fait à un sous domaine de SITE-B.fr, c'est en fait le webmail,
donc SITE-C as pour adresse : webmail.SITE-B.fr
Celui-ci est donc également redirigé automatiquement sur le https pour raison de sécurité.
J'ai donc rajouté dans /etc/apache2/httpd.conf :
NameVirtualHost *:443
et j'ai configuré le troisième vhosts SITE-C de cette façon :
<VirtualHost *:80>
ServerAdmin admin@SITE-B.fr
ServerName webmail.SITE-B.fr/
Redirect / https://webmail.SITE-B.fr/
DocumentRoot /var/lib/roundcube/
</VirtualHost>
<VirtualHost *:443>
ServerName webmail.SITE-B.fr
DocumentRoot /var/lib/roundcube/
SSLEngine on
SSLCertificateFile /etc/apache2/webmail-SITE-B.crt
SSLCertificateKeyFile /etc/apache2/webmail-SITE-B.key
</VirtualHost>
Si vous l'avez remarqué SITE-C.fr as ces propres certificats ssl qui sont différent de SITE-B.fr
Maintenant si j'active ce nouveau vhosts, apache2 ne me retourne aucune erreur.
Mais par contre, si je vais sur l'adresse : webmail.SITE-B.fr ça me renvoie sur le SITE-A.fr :
l'url affiché est http://webmail.SITE-B.fr mais la page affiché et cette de SITE-A.fr !!!!
et tous ça sans le https bien sûr.
donc je peut avoir deux vhosts en http activé en même temps, mais si je mets deux vhots avec deux https en même temps sur deux certificats différents ça pose problème.
Dernière modification par M@XflY (Le 16/05/2010, à 23:07)
Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.
Hors ligne
#5 Le 18/05/2010, à 11:50
- M@XflY
Re : [RESOLU] Apache comment gerer plusieurs site web avec ou sans https ?
d'après ce que j'ai pus constaté, il s'agirait d'un problème de configuration de DNS, la résolution de nom ne se faisant pas correctement.
Je suis tombé sur ce tuto sur le site d'apache :
http://httpd.apache.org/docs/2.1/fr/vho … l#purename
ce qui correspond à mon cas de figure, par contre ils indiquent bien :
La configuration de serveurs virtuels sous Apache ne provoque pas leur apparition magique dans la configuration du DNS. Il faut que leurs noms soient définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP du serveur, faute de quoi personne ne pourra visiter votre site Web. Il est possible d'ajouter des entrées dans le fichier hosts pour tests locaux, mais qui ne fonctionneront que sur la machine possédant ces entrées.
Mais par contre il n'indique pas comment configurer le fichier /etc/hosts ??!!
Et il ne précise pas ici le cas où on a un serveur DND Bind qui tourne !!
Je pense donc me baser sur ce tuto : http://doc.ubuntu-fr.org/tutoriel/virtu … sur_le_nom
mais dans les prérogative de celui ci c'est indiqué :
Nous renseignons le fichier /etc/hosts afin d'assurer la résolution de nom (Nom –> Adresse Ip) des hôtes Virtuels que nous allons créer. Ceci n'est nécessaire que si votre serveur DNS (Serveur Bind) n'est pas installé et/ou configuré pour vos domaines
Mais dans mon cas je me suis rendu compte, que j'avais des fichiers de zones de configurer dans mon dns Bind9 !
Ce qui m'enbrouille c'est que le tuto d'apache ne m'entionne nul part la configuration d'un dns avec bind alors que cellui d'ubuntu le précise, lequel faut t'il donc suivre ?
Cela veut t'il dire que dans le tuto d'apache on peut passer outre la configuration du dns avec bind et le gérer uniquement sur le /etc/hosts ?
Dernière modification par M@XflY (Le 18/05/2010, à 12:11)
Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.
Hors ligne
#6 Le 29/05/2010, à 01:50
- M@XflY
Re : [RESOLU] Apache comment gerer plusieurs site web avec ou sans https ?
Bon, utilisant la plateforme Ebox 1.4 basé sur Ubuntu Server 8.04.4 LTS ,
et celle ci n'integrant pas la gestion du https dans son serveur web,
je m'étais dit qu'en passant par une bonne veille configuration à la mano de apache cela fonctionnerai,
ce qui ne semble pas être le cas,
le problème sera donc résolu avec la pochaine version d'Ebox 2.0 basé sur Ubuntu Server 10.04 LTS,
et qui integrera par défaut la gestion de l'https dans le websever d'ebox.
pour ceux que ça interesse :
http://www.ebox-platform.com/
le post sur le forum ebox duquel je me suis inspiré pour faire ces tests : http://forum.ebox-platform.com/index.php?topic=2777.0
la mise à dispo sur le svn d'ebox du serverweb+https : http://trac.ebox-platform.com/browser/b … a/limerick > iclerencia@…: Fix some more problems with the webserver and ssl, seems to work now
et la roadmap de la 2.0 : http://trac.ebox-platform.com/roadmap
Dernière modification par M@XflY (Le 29/05/2010, à 01:53)
Lorsqu'un groupe de hackers du monde Unix se mettent a essayer de porter le systeme Unix sur PC, vous obtenez BSD.
Lorsqu'un groupe de hackers du monde des PC se mettent a essayer de coder un Unix pour PC, vous obtenez Linux.
Hors ligne