Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile
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