IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Apache2 virtualhosts options SSL


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Apache2 virtualhosts options SSL
    Bonjour,

    J'ai un serveur avec 1 virtualhost configuré pour le SSL.
    Je veux proposer des options de configuration SSL spécifiques pour le vhost.

    Ce que je ne comprends pas, c'est que ces options spécifiques sur le vhost ne sont pas prises en compte; chaque fois, ce sont les options du site "default" qui sont prises en compte, et non les options particulières de mon virtualhost.

    Exemple:

    /etc/apache2/sites-available/default :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <VirtualHost 192.168.10.239:443>
            ServerAdmin webmaster@localhost
            SSLEngine On
            DocumentRoot /var/www/
            <Directory /var/www/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
            ErrorLog /var/log/apache2/ssl.error.log
            CustomLog /var/log/apache2/ssl.access.log combined
    </VirtualHost>
    /etc/apache2/sites-available/mickey.dev.local :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <VirtualHost 192.168.10.239:443>
            ServerAdmin webmaster@localhost
            ServerName mickey.dev.local
     
            SSLEngine On
            SSLVerifyClient optional
            SSLVerifyDepth 2
            SSLCACertificateFile /etc/apache2/ssl/users.crt
            SSLOptions +ExportCertData
     
            DocumentRoot /home/mickey/site/
            <Directory /home/mickey/site/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
            ErrorLog /var/log/apache2/mickey.ssl.error.log
            CustomLog /var/log/apache2/mickey.ssl.access.log combined
    </VirtualHost>
    Si je vais sur mickey.dev.local, les options SSL spécifiques a sa conf ne sont pas prises en compte.

    Bref je ne comprends pas.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Y a-t-il une directive NameVirtualHost 192.168.10.239:443 quelque part dans la conf d'Apache ? Il faut ensuite mettre une directive ServerName dans ton VH par défaut, un truc autre que ServerName mickey.dev.local afin de différencier les 2 VH.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Suite Apache2 virtualhosts options SSL
    Merci pour ta réponse;

    Je viens d'ajouter le servername au default mais çà ne change rien.

    Voici les essais complets que j'ai faits :

    2 Vhosts + 1 default :

    /etc/apache2/sites-available/default :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    NameVirtualHost 192.168.10.239:80
    NameVirtualHost 192.168.10.239:443
     
    <VirtualHost 192.168.10.239:80>
            ServerAdmin webmaster@localhost
            ServerName ipmickey.dev.local
            DocumentRoot /var/www/
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /var/www/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
     
            ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
            <Directory "/usr/lib/cgi-bin">
                    AllowOverride None
                    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                    Order allow,deny
                    Allow from all
            </Directory>
     
            ErrorLog /var/log/apache2/error.log
     
            LogLevel warn
     
            CustomLog /var/log/apache2/access.log combined
            ServerSignature On
     
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    </VirtualHost>
     
    <VirtualHost 192.168.10.239:443>
            ServerAdmin webmaster@localhost
            ServerName ipmickey.default.dev.local
            SSLEngine On
     
            DocumentRoot /var/www/
            <Directory /var/www/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
            ErrorLog /var/log/apache2/ssl.error.log
            CustomLog /var/log/apache2/ssl.access.log combined
    </VirtualHost>
    /etc/apache2/sites-available/mickey.dev.local :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <VirtualHost 192.168.10.239:80>
            ServerAdmin webmaster@localhost
            ServerName mickey.dev.local
    
            DocumentRoot /home/mickey/site/
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /home/mickey/site/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
    
            ErrorLog /var/log/apache2/mickey.error.log
    
            LogLevel warn
    
            CustomLog /var/log/apache2/mickey.access.log combined
            ServerSignature On
    </VirtualHost>
    
    <VirtualHost 192.168.10.239:443>
            ServerAdmin webmaster@localhost
            ServerName mickey.dev.local
    
            SSLEngine On
            SSLVerifyClient optional
            SSLVerifyDepth 2
            SSLCACertificateFile /etc/apache2/ssl/users.crt
            SSLOptions +ExportCertData
    
            DocumentRoot /home/mickey/site/
            <Directory /home/mickey/site/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
            ErrorLog /var/log/apache2/mickey.ssl.error.log
            CustomLog /var/log/apache2/mickey.ssl.access.log combined
    </VirtualHost>
    /etc/apache2/sites-available/donald.dev.local :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <VirtualHost 192.168.10.239:80>
            ServerAdmin webmaster@localhost
            ServerName donald.dev.local
     
            DocumentRoot /home/donald/site/
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /home/donald/site/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
     
            ErrorLog /var/log/apache2/donald.error.log
     
            LogLevel warn
     
            CustomLog /var/log/apache2/donald.access.log combined
            ServerSignature On
    </VirtualHost>
     
    <VirtualHost 192.168.10.239:443>
            ServerAdmin webmaster@localhost
            ServerName donald.dev.local
     
            SSLEngine On
     
            DocumentRoot /home/donald/site/
            <Directory /home/donald/site/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>
            ErrorLog /var/log/apache2/donald.ssl.error.log
            CustomLog /var/log/apache2/donald.ssl.access.log combined
    </VirtualHost>
    Des options SSL spécifiques (en gras italique) devraient s'appliquer à mickey.dev.local .
    J'ai remarqué sur si je mets ces options dans default, elles s'appliquent a l'ensemble des sites (ip, mickey.dev.local, et donald.dev.local).
    Si j'enlève intégralement la directive <VirtualHost 192.168.10.239:443> dans le vhost default, c'est celle de /etc/apache2/sites-available/donald.dev.local qui prévaut (sans doute parce qu'alphabétiquement elle précède /etc/apache2/sites-available/mickey.dev.local ??

    Bref dans tous les cas, il semble qu'il y ait une configuration "maitresse" qui soit systématiquement prioritaire sur les configurations de tous les autres vhosts.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Avec quelles URLs tu fais tes tests et quel est le comportement pour chaque ?

    Citation Envoyé par tlep Voir le message
    J'ai remarqué sur si je mets ces options dans default, elles s'appliquent a l'ensemble des sites (ip, mickey.dev.local, et donald.dev.local).
    A quel endroit tu les mets, exactement ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Suite Apache2 virtualhosts options SSL
    Ben je fais mes tests avec les urls correspondant aux vhosts:

    https://donald.dev.local
    https://mickey.dev.local
    https://192.168.10.239

    Les directives spécifiques que je veux voir appliquées à mickey.dev.local uniquement, à savoir
    SSLVerifyClient optional
    SSLVerifyDepth 2
    SSLCACertificateFile /etc/apache2/ssl/users.crt
    SSLOptions +ExportCertData


    servent à identifier le client via un token usb; après identification du token, çà me permet de récupérer les infos contenues dans la variable d'environnement $_SERVER["SSL_CLIENT_CERT"].
    Je veux cependant que cette identification par token ne s'applique qu'à un seul vhost.
    Or soit il s'applique a tous (en mettant les directives dans default), soit a aucun.

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    J'ai l'impression que c'est parce que tes fichiers mickey.dev.local et donald.dev.local ne sont pas pris en compte. Peux-tu vérifier que ces fichiers sont pris en compte, par exemple en mettant un Deny from all (dans ce cas, tu reçoit une jolie erreur Forbidden) ou en regardant que les différents document roots sont pris en compte ?

    Autre chose : il n'y a pas de virtual host pour l'URL https://192.168.10.239 : il n'y a de ServerName 192.168.10.239 nulle part.

    Citation Envoyé par tlep
    Or soit il s'applique a tous (en mettant les directives dans default), soit a aucun.
    Oui mais où exactement dans ce fichier ? Dans un VH ? Si oui lequel ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Suite Apache2 virtualhosts options SSL
    Si ils sont pris en compte, je vois bien le document_root (via phpinfos).
    J'ai bien ajouté le servername 192.168.10.239 dans default, comme tu le préconises, mais ca ne change rien.

    En fait, je peux même vider default de son contenu pour ne garder que
    NameVirtualHost 192.168.10.239:80
    NameVirtualHost 192.168.10.239:443

    Dans ce cas, si je me connecte sur l'IP 192.168.10.239, je tombe sur le vhost donald.dev.local (document_root: /home/donald/site/)
    Et dans ce cas, si je mets dans /etc/apache2/sites-available/donald.dev.local les directives
    SSLVerifyClient optional
    SSLVerifyDepth 2
    SSLCACertificateFile /etc/apache2/ssl/users.crt
    SSLOptions +ExportCertData


    Elles s'appliqueront aussi à mickey.dev.local.
    En revanche, si je mets ces directives dans mickey.dev.local, elles ne seront appliquées à aucun des deux vhosts.

    Pour résumer, il semble le premier vhost (par ordre alphabétique: soit dans mon cas default, puis donald, puis mickey) impose ses directives SSL à tous les autres.


  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Arf, oui, ça paraît logique, en fait, et ça me revient d'un coup : tu accèdes à Apache par le port 443 en https, donc il va appliquer un paramétrage SSL, et il se trouve qu'on ne peut utiliser qu'un seul paramétrage SSL par couple IP/port : http://httpd.apache.org/docs/2.2/ssl...q.html#vhosts2. Donc soit tu utilises un autre port, soit tu utilises une autre IP.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. [2.x] Configuration apache2 VirtualHost
    Par tiesto95 dans le forum Symfony
    Réponses: 1
    Dernier message: 09/02/2012, 10h26
  2. [Apache2] virtualhosts et logs
    Par helje dans le forum Apache
    Réponses: 6
    Dernier message: 12/07/2006, 16h15
  3. Apache2 + ssl + sous-domaine + multi-domaine
    Par Squyrrel dans le forum Apache
    Réponses: 8
    Dernier message: 28/04/2006, 17h40
  4. Apache2 SSL - Commente "debugger" ?
    Par Hikage dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 03/11/2005, 14h17
  5. apache2+ssl
    Par m@estro dans le forum Apache
    Réponses: 2
    Dernier message: 26/10/2005, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo