Redirection auto HTTPS pour un Vhost
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:
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:
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:
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:
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.