Bonjour !

J'ai des problèmes avec apache2 sous Debian 9.

Je n'arrive pas activer la redirection automatique vers https sur mon virtualhost. J'ai réussi sur le virtualhost par défaut mais pas sur celui que j'ai créé. Pourtant je peux l'atteindre en https en le tapant dans l'URL. J'ai suivi beaucoup d'exemples que j'ai trouvé, avec un htaccess et avec une redirection directe dans le VHost mais rien n'y fait.

Je précise que je suis sur un domaine avec DNS, mais le problème ne semble pas venir de ce côté puisque j'accède aux sites qui sont en racine de apache et au VHost qui est dans /usr/share sans problème. Ça pointe correctement.

Pouvez-vous me dire ce qui ne va pas et comment faire svp ?

Je vous mets d'abord mon VHost par défaut qui marche.

000-default.conf :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<VirtualHost *:80>
 
        ServerName web01.domaine.lan
        Redirect / https://web01.domaine.lan/
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>
-Ensuite le default-ssl.conf :

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
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                DocumentRoot /var/www/html
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/apache2/ssl/web01.pem
                SSLCertificateKeyFile /etc/apache2/ssl/web01.key
 
                       <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                       </FilesMatch>
 
                                 <Directory /usr/lib/cgi-bin>
                                         SSLOptions +StdEnvVars
                                 </Directory>
        </VirtualHost>
</IfModule>

-Et les fichiers du VHost qui m'embêtent :

monsite3.conf :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<VirtualHost *:80>
         ServerName monsite3.domaine.lan
#       Redirect permanent / https://monsite3.domain.lan/
#       Redirect monsite3.domaine.lan https://monsite3.domaine.lan/
        ErrorLog /var/log/apache2/monsite3.error.log
        CustomLog /var/log/apache2/monsite3.access.log common
        DocumentRoot /usr/share/monsite3/
            <Directory /usr/share/monsite3/>
                   Options -Indexes +FollowSymLinks +MultiViews
                   AllowOverride ALL
                   Order allow,deny
                   Allow from all
            </Directory>
</VirtualHost>

-Et son alter ego 443 :

monsite3-ssl.conf :

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
<IfModule mod_ssl.c>
      <VirtualHost *:443>
            DocumentRoot /usr/share/monsite3/
            ServerName monsite3.domaine.lan
 
                  <Directory /usr/share/monsite3/>
                        Options FollowSymLinks
                        Options -Indexes +FollowSymLinks +MultiViews
                        AllowOverride ALL
                        Order allow,deny
                        Allow from all
                  </Directory>
 
           ErrorLog ${APACHE_LOG_DIR}/monsite3.error.log
           LogLevel warn
           CustomLog ${APACHE_LOG_DIR}/monsite3.ssl_access.log combined
 
           SSLEngine on
           SSLCertificateFile /etc/apache2/ssl/web01.pem
           SSLCertificateKeyFile /etc/apache2/ssl/web01.key
 
     </VirtualHost>
</IfModule>

Déjà est-ce que c'est bien comme ça qu'on s'organise ? Avec un virtualhost pour le port 80 et un pour le port 443, les deux concernant le même site ?

J'ai lu qq part qu'il ne fallait pas utiliser ServerName dans VHost 443 mais quand je l'enlève, si je tape https://monsite3.domaine.lan ça m'affiche la racine de apache au lieu de /usr/share/monsite3/.

Voila, dans cette configuration, la racine /var/www/html/ est sécurisée automatiquement mais je sais pas comment faire pour le Vhost monsite3. Merci beaucoup pour votre aide.