Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
694 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  Redirection auto HTTPS pour un Vhost

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Redirection auto HTTPS pour un Vhost

n°1432096
dabigben
Posté le 31-03-2019 à 13:16:49  profilanswer
 

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 :
  1. <VirtualHost *:80>
  2.         ServerName web01.domaine.lan
  3.         Redirect / https://web01.domaine.lan/
  4.         ServerAdmin webmaster@localhost
  5.         DocumentRoot /var/www/html
  6.         ErrorLog ${APACHE_LOG_DIR}/error.log
  7.         CustomLog ${APACHE_LOG_DIR}/access.log combined
  8. </VirtualHost>


 
-Ensuite le default-ssl.conf :
 

Code :
  1. <IfModule mod_ssl.c>
  2.         <VirtualHost _default_:443>
  3.                 ServerAdmin webmaster@localhost
  4.                 DocumentRoot /var/www/html
  5.                 ErrorLog ${APACHE_LOG_DIR}/error.log
  6.                 CustomLog ${APACHE_LOG_DIR}/access.log combined
  7.                 SSLEngine on
  8.                 SSLCertificateFile      /etc/apache2/ssl/web01.pem
  9.                 SSLCertificateKeyFile /etc/apache2/ssl/web01.key
  10.                        <FilesMatch "\.(cgi|shtml|phtml|php)$">
  11.                                 SSLOptions +StdEnvVars
  12.                        </FilesMatch>
  13.                                  <Directory /usr/lib/cgi-bin>
  14.                                          SSLOptions +StdEnvVars
  15.                                  </Directory>
  16.         </VirtualHost>
  17. </IfModule>


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

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


 
 
-Et son alter ego 443 :
 
monsite3-ssl.conf :
 

Code :
  1. <IfModule mod_ssl.c>
  2.       <VirtualHost *:443>
  3.             DocumentRoot /usr/share/monsite3/
  4.             ServerName monsite3.domaine.lan
  5.                   <Directory /usr/share/monsite3/>
  6.                         Options FollowSymLinks
  7.                         Options -Indexes +FollowSymLinks +MultiViews
  8.                         AllowOverride ALL
  9.                         Order allow,deny
  10.                         Allow from all
  11.                   </Directory>
  12.            ErrorLog ${APACHE_LOG_DIR}/monsite3.error.log
  13.            LogLevel warn
  14.            CustomLog ${APACHE_LOG_DIR}/monsite3.ssl_access.log combined
  15.            SSLEngine on
  16.            SSLCertificateFile /etc/apache2/ssl/web01.pem
  17.            SSLCertificateKeyFile /etc/apache2/ssl/web01.key
  18.      </VirtualHost>
  19. </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.

mood
Publicité
Posté le 31-03-2019 à 13:16:49  profilanswer
 

n°1432241
dede_sav
Posté le 03-04-2019 à 13:43:18  profilanswer
 

Salut,  
 
Sans être expert, voila comment je fais pour la redirection:
 

Code :
  1. <VirtualHost *:80>
  2.         ServerName monsite3.domaine.lan
  3. RewriteEngine On
  4.         RewriteCond %{HTTPS} off
  5.         RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
  6. </VirtualHost>


 

n°1432242
dabigben
Posté le 03-04-2019 à 15:21:08  profilanswer
 

Salut ! Merci pour ta réponse.
 
Alors, quand je fais comme ça, le navigateur redirige bien vers https://monsite3.domaine.lan mais ne trouve pas le site.


Message édité par dabigben le 03-04-2019 à 18:41:39
n°1432243
dabigben
Posté le 03-04-2019 à 15:26:17  profilanswer
 

Je viens de réessayer aussi avec un .htaccess en mettant ça :
 
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://monsite3.domaine.lan%{REQUEST_URI} [R=301,L]
 
 
Mais ça a le même effet, cela redirige mais le site est introuvable.


Message édité par dabigben le 03-04-2019 à 18:41:16
n°1432298
HPIR40
Posté le 04-04-2019 à 17:19:30  profilanswer
 

et comme cela dans un seul et unique monsite3.conf (il faut bien sur faire le a2dissite qui va bien pour supprimer les conf qui ont été activés, un a2ensite monsite3.conf et redemarrer apache)?

 

<VirtualHost *:80>
        ServerName monsite3.domaine.lan
        RedirectMatch ^/$ http://monsite3.domaine.lan
        RewriteEngine On
        RewriteCond %{HTTP:X-Forwarded-Proto} !https
        RewriteRule / https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>

 

<VirtualHost *:443>
       mettre ici toute ta config https
</VirtualHost>


Message édité par HPIR40 le 04-04-2019 à 17:27:28
n°1432303
dabigben
Posté le 04-04-2019 à 19:16:25  profilanswer
 

Merci de ton aide aussi HPIR40 !
 
Je viens de passer d'une machine physique à une VM dans laquelle je venait de refaire une install de l'OS. J'ai copié mes fichiers apache de l'une l'autre.
 
En réactivant la directive :
 
Redirect permanent / https://monsite3.domain.lan/
 
..dans le VHost 80 de monsite3, ça a tout de suite marché ^^
 
Ça me frustre, je ne sais pas pourquoi d'un coup ça marche. J'ai par contre refait le certificat SSL sur la VM et je me demande si c'est pas le fait d'avoir mis web01.domain.lan dans Common Name qui a changé la donne. Je ne sais plus ce que j'avais mis la première fois.
 
Bref en tout cas problème résolu même si j'aurais préféré comprendre mon erreur.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  Redirection auto HTTPS pour un Vhost

 

Sujets relatifs
Projet Aerial: Auto-hébergement d'un serveur multi-tâchesAnnulé
config apache pour httpsInstallation auto Ubuntu par USB avec l'iso mini
Authentification HTTPSserveur type reverse proxy pour proces autre que http/https/etc?
[HAProxy] Reverse proxy avec redirection selon uriForcer HTTPS uniquement pour certains services
[RESOLU] Redirection de port entre 2 serveurs linux 
Plus de sujets relatifs à : Redirection auto HTTPS pour un Vhost


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR