Virtual host & apache 2

Virtual host & apache 2 - Logiciels - Linux et OS Alternatifs

Marsh Posté le 14-02-2005 à 01:10:09    

Bonjour,
 
J'ai plusieurs nom de domaine, type dyndns :
j'utilise donc des virtuals host pour gérer le tous.
 
le problème qui se pose, c'est lorsque que je veux utiliser le https pour un des noms de domaine.
 
petit exemple :
 
###############
 
NameVirtualHost serveur1.com
<VirtualHost serveur1.com>
        DocumentRoot /var/www/serveur1/htdocs
        ServerName serveur1.com
        ServerAdmin root@serveur1.com
        RewriteEngine On
        RewriteOptions inherit
</VirtualHost>
 
NameVirtualHost serveur2.com
<VirtualHost serveur1.com>
        DocumentRoot /var/www/serveur2/htdocs
        ServerName serveur2.com
        ServerAdmin root@serveur2.com
        RewriteEngine On
        RewriteOptions inherit
</VirtualHost>
 
NameVirtualHost serveur3.com
<VirtualHost serveur3.com>
        DocumentRoot /var/www/serveur3/htdocs
        ServerName serveur3.com
        ServerAdmin root@serveur3.com
        RewriteEngine On
        RewriteOptions inherit
</VirtualHost>
 
 
 
<IfDefine SSL>
        NameVirtualHost serveur1
        <VirtualHost serveur1>
                DocumentRoot /var/www/serveur1/htdocs
                ServerName "serveur1"
                ServerAdmin root@serveur1.com
 
                SSLEngine on
                SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
                SSLCertificateFile /etc/ssl/server.crt
                SSLCertificateKeyFile /etc/ssl/server.key
                SSLCACertificateFile /etc/ssl/server.crt
 
                <Files ~ "\.(cgi|shtml|phtml|php?)$">
                        SSLOptions +StdEnvVars
                </Files>
 
                <IfModule mod_setenvif.c>
                        SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
                </IfModule>
 
                <IfModule mod_rewrite.c>
                        RewriteEngine On
                        RewriteOptions inherit
                </IfModule>
        </VirtualHost>
</IfDefine>
 
#############
 
en fait si je rajoute le port avec le host, il me dit qu'il ne peut pas gérer et le host et le port en meme temps... c'est donc soit l'un soit l'autre
 
et dans cette exemple, je veux que serveur1.com puisse etre accessible en http & https.
sauf que je n'arrive par a le faire
 
ou je decommente le 1e et j'ai que le https, ou je decommente le dernier, et j'ai que le http qui marche.
les deux en meme temps il peut pas ( dans cet exemple )
 
 
 
Pour résumer comment faire marcher le http et le https en meme temps pour un virtual host ?

Reply

Marsh Posté le 14-02-2005 à 01:10:09   

Reply

Marsh Posté le 14-02-2005 à 14:12:31    

Personnellement, j'ai un truc comme ça :
 
Dans mon apache.conf :


Listen 443
 
NameVirtualHost xxx.xxx.xxx.xxx:80
NameVirtualHost xxx.xxx.xxx.xxx:443


 
Après, j'ai un fichier par virtual host, qui contient un truc du genre :


<VirtualHost xxx.xxx.xxx.xxx:80>
        DocumentRoot /var/www/serveur1/htdocs
        ServerName serveur1.com
</VirtualHost>
 
<VirtualHost xxx.xxx.xxx.xxx:443>
        DocumentRoot /var/www/serveur1/ssl
        ServerName serveur1.com
</VirtualHost>


 
 
J'ai pas ma config sous les yeux, mais il me semble que c'est comme ça.

Reply

Marsh Posté le 14-02-2005 à 23:25:55    

pour le https, faut pas utiliser un module spécial ?
il me semble que spécifier comme sa, il va utiliser que le port, et pas le protocole ?
 
*:80 c'est la meme chose que xxx.xxx.xxx.xxx:80 ?
 
 

Reply

Marsh Posté le 14-02-2005 à 23:30:46    

et la encore pire.... mes virtual host, ne marche que dans le réseau local :-S !!!!!!!!!
 
pour lui, mon ip et mon nom dynDNS il les prend pareil
 
j'y comprend vraiment pu rien du tout !


Message édité par smity le 14-02-2005 à 23:31:54
Reply

Marsh Posté le 14-02-2005 à 23:31:37    

Ouais, bien sur, tu rajoutes ce qu'il faut pour faire marcher le ssl.
 
*:80, ça te permet d'y accéder à pertir de toutes les adresses ip de la machine.
Personnellement, mon serveur me sert de routeur aussi, et j'ai un virtualhost pour y accéder depuis l'intérieur, et des virtualhost pour y accéder de l'extérieur.
Si tu y accède qu'à partir d'une seule adresse, tu peux mettre * si tu veux ...

Reply

Marsh Posté le 14-02-2005 à 23:39:17    

il y a une option spécial pour faire marcher les virtuals hosts de l'exterieur ?!
 
du réseau local, sa marche nicker, mais de l'exterieur... rien  à faire ... :'(

Reply

Marsh Posté le 14-02-2005 à 23:41:38    

Fais péter ta conf.

Reply

Marsh Posté le 14-02-2005 à 23:54:44    

# Fichier apache2.conf
#######################
 
ServerRoot /usr/lib/apache2
ServerName "The Crypt ?!!! ..."
#LockFile /etc/apache2/apache2.lock
PidFile /var/run/apache2.pid
ErrorLog logs/error_log
LogLevel warn
DocumentRoot /var/www/localhost/htdocs
 
 
## la il charge tout les modules !!
 
 
Include conf/modules.d/*.conf
Include conf/commonapache2.conf
Include conf/vhosts/vhosts.conf
 
#BindAddress *
Listen 80
Listen 8080
 
Timeout 300
 
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
 
# Fichier commonapache2.conf
#######################
 
 
User apache
Group apache
 
UseCanonicalName Off
HostnameLookups On
EnableMMAP on
ServerTokens Full
ServerSignature On
 
# tout ce qui est mime, <directory> on suppose que c'est ok
 
 
# Fichier vhost.conf
#######################
 
NameVirtualHost domaine1
<VirtualHost domaine1>
       DocumentRoot /var/www/domaine1/htdocs
       ServerName domaine1
       ServerAdmin root@domaine1
       CustomLog logs/domaine1-access.log combined
       ErrorLog logs/domaine1-error_log
       RewriteEngine On
       RewriteOptions inherit
</VirtualHost>
 
NameVirtualHost *:8080
<VirtualHost *:8080>
        DocumentRoot /var/www/domaine1/htdocs
        ServerName domaine1
        ServerAdmin root@domaine1
        Redirect permanent / http://www.google.fr
        RewriteEngine On
        RewriteOptions inherit
</VirtualHost>
 
#<IfDefine SSL>
#       NameVirtualHost domaine1
#       <VirtualHost domaine1>
#               DocumentRoot /var/www/domaine1/htdocs
#               ServerName "domaine1"
#               ServerAdmin root@domaine1
#
#               CustomLog logs/domaine1-ssl_access_log combined
#               ErrorLog logs/domaine1-ssl_error_log
#               CustomLog logs/domaine1.ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
#
#               SSLEngine on
#               SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
#               SSLCertificateFile /etc/ssl/server.crt
#               SSLCertificateKeyFile /etc/ssl/server.key
#               SSLCACertificateFile /etc/ssl/server.crt
#
#               <Files ~ "\.(cgi|shtml|phtml|php?)$">
#                       SSLOptions +StdEnvVars
#               </Files>
#
#               <IfModule mod_setenvif.c>
#                       SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
#               </IfModule>
#
#               <IfModule mod_rewrite.c>
#                       RewriteEngine On
#                       RewriteOptions inherit
#               </IfModule>
#       </VirtualHost>
#</IfDefine>


Message édité par smity le 09-06-2005 à 14:31:16
Reply

Marsh Posté le 14-02-2005 à 23:57:19    

en fait le virtual host fonctionne que sur le serveur en question... comme je passais par un proxy j'avais pas vu tout de suite

Reply

Marsh Posté le 15-02-2005 à 00:11:09    

Donc, c'est bon ?

Reply

Marsh Posté le 15-02-2005 à 00:11:09   

Reply

Marsh Posté le 15-02-2005 à 00:13:55    

non, il fonctionne si je suis sur le serveur.
quand je prend un poste client, le virtual host n'est pas prit en compte
 
mon serveur 192.168.0.1 <= pour lui tout est ok sa marche
mais : 192.138.0.10 192.168.0.20 <= pour eux sa marche pas
et pour tt les machines sur internet sa marche pas non plus

Reply

Marsh Posté le 15-02-2005 à 00:17:11    

bon j'ai un peu trouver le probleme.....
 
mais il ne prend que les @IP, si je met le nom de domaine sa passe pas...
et comme j'ai une ip dynamic....

Reply

Marsh Posté le 15-02-2005 à 00:21:14    

Si tu dis, ça marche pas, ça aide pas trop ...
T'as des trucs dans tes logs, tu tombe sur quoi ?
Précises un peu, parce que là ...

Reply

Marsh Posté le 15-02-2005 à 00:29:18    

# mon fichier vhost.conf
#########################
 
NameVirtualHost domaine1:80
<VirtualHost domaine1:80>
        DocumentRoot /var/www/domaine1/htdocs
        ServerName domaine1
        ServerAdmin root@domaine1
        CustomLog logs/domaine1-access.log combined
        ErrorLog logs/domaine1-error_log
        RewriteEngine On
        RewriteOptions inherit
</VirtualHost>
 
#NameVirtualHost 192.168.0.1:80
#<VirtualHost 192.168.0.1:80>
#       DocumentRoot /var/www/domaine1/htdocs
#       ServerName 192.168.0.1
#       ServerAdmin root@domaine1
#       CustomLog logs/domaine1-access.log combined
#       ErrorLog logs/domaine1-error_log
#       RewriteEngine On
#       RewriteOptions inherit
#</VirtualHost>
 
#NameVirtualHost 83.112.22.6:80
#<VirtualHost 83.112.22.6:80>
#       DocumentRoot /var/www/domaine1/htdocs
#       ServerName domaine1
#       ServerAdmin root@domaine1
#       CustomLog logs/domaine1-access.log combined
#       ErrorLog logs/domaine1.net-error_log
#       RewriteEngine On
#       RewriteOptions inherit
#</VirtualHost>
 
 
#################
 
tel quel, je tombe dans le documentroot principale, à savoir /var/www/localhost/htdocs.
 
 
maintenant, si je décommente le 1e v-host ( avec le nom de domaine ), et que je décommente le dernier ( avec mon @IP internet ).
je tombe dans le bon documentroot à savoir /var/www/domaine1/htdocs
et ceci que je tape le nom de domaine ou l'@IP.
 
en gros pour le serveur ya aucune erreur.
 
comme j'ai une IP dynamique..... sa pose encore problème
 
( en fait j'avance a chq fois un peut plus.... )
 
Il y a un truc a faire pour qu'il prenne le nom de domaine ?


Message édité par smity le 09-06-2005 à 14:33:01
Reply

Marsh Posté le 15-02-2005 à 00:41:56    

bon, j'ai mit :
UseCanonicalName On
 
pour qu'il utilise la variable "ServerName" et non les @IP et c'est ok ! :-)

Reply

Marsh Posté le 15-02-2005 à 00:42:48    

bcq de bruit....... pour pas gd chose
 
merci de ton aide en tout cas !
 
et puis des fois parler tout seul ça aide aussi a regler les problèmes :-p

Reply

Marsh Posté le 15-02-2005 à 00:43:59    

Si tu mets ton nom de domaine en VirtualHost, tu fais du IP-Base VirtualHost, c'est à dire qu'il te faut une adresse IP pour chaque VirtualHost.
Je pense que c'est pas trop ce que tu veux.
 
Il doit y avoir un truc pour que ça marche avec une adresse IP dynamique, mais je connais pas :/
Sinon, il faut que tu laisses tomber le virtualhost en sur ton LAN, et que tu utilises * ...

Reply

Marsh Posté le 15-02-2005 à 00:45:47    

Ok, je connaissais pas ce paramètre :jap:

Reply

Marsh Posté le 15-02-2005 à 14:59:50    

mais ah chaque deconnexion du net, je suis obliger de relancer le serveur

Reply

Marsh Posté le 15-02-2005 à 15:09:57    

Et avec ma méthode ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed