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. J'ai un enregistrement A pour web01 / 192.168.0.102 et un CNAME monsite3 qui pointe web01.
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 :
- <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 :
- <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 :
- <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 :
- <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.