Partage
  • Partager sur Facebook
  • Partager sur Twitter

Redirection https vers http avec apache2

Sujet résolu
    14 janvier 2020 à 10:53:10

    Bonjour,

    J'ai plusieurs sites qui ont chacun un sous-domaine. chaque sous-domaine à son propre vhost.

    J'essaye actuellement de faire en sorte que, lorsque je reçoit une requête sur un sous-domaine qui n'existe pas, un vhost par défaut traite la requête.

    J'ai donc par exemple quelques vhost avec les ServerName qui vont bien :

    • 000-default.conf
    • a.monsite.tld.conf
    • b.monsite.tld.conf
    • c.monsite.tld.conf

    et lorsque je fais une requête sur d.monsite.tld c'est bien le vhost 000-default qui prend la main sur la requête, elle pointe vers une page html toute simple.

    Sur le port 80, tout se passe comme prévu.  mais sur le port 443 le navigateur déclenche une erreur ERR_SSL_PROTOCOL_ERROR : Ce site ne peut pas fournir de connexion sécurisée

    Mon vhost par défaut ressemble à ceci :

    <VirtualHost *:80>
            DocumentRoot /var/www/html
    </VirtualHost>
    
    <VirtualHost *:443>
           RewriteEngine On
           RewriteCond %{HTTPS} off
           RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
    </VirtualHost>



    • Partager sur Facebook
    • Partager sur Twitter
      14 janvier 2020 à 11:40:14

      Il te faut un certificat pour *.monsite.tld et visiblement, dans la configuration de ton VH, il manque tout ce qui permet https/ssl à commencer par un SSLEngine on

      • Partager sur Facebook
      • Partager sur Twitter
        14 janvier 2020 à 12:20:23

        Donc j'ai besoin de faire un certificat avec wildcard pour faire quoi que ce soit sur le port 443 ? même juste une redirection ?

        Les autres sites ont leur propre certificat, donc j'ai pas eu de problème en https avec eux.

        • Partager sur Facebook
        • Partager sur Twitter
          14 janvier 2020 à 13:28:03

          A confirmer, mais je pense et serait logique (à moins que SNI le permette - voir la directive SSLStrictSNIVHostCheck)

          > Donc j'ai besoin de faire un certificat avec wildcard pour faire quoi que ce soit sur le port 443 ?

          Pas forcément en wildcard mais qui correspond au moins aux noms que tu veux intercepter (ie qui correspond à ce que tu as mis en ServerName et ServerAlias quoi) sans quoi logiquement, tu (le client) vas te taper une erreur de certificat (et la redirection ne sera pas effective).

          > même juste une redirection ?

          Si la connexion https n'est pas possible/légitime, elle sera interrompue et ta redirection n'entrera jamais en compte.


          EDIT : en fait, il faudrait tester ou chercher, avec SNI les choses sont différentes maintenant et je n'ai pas eu l'occasion de tester, pour voir si le VH https par défaut fonctionne comme attendu.

          -
          Edité par julp 14 janvier 2020 à 13:43:19

          • Partager sur Facebook
          • Partager sur Twitter
            17 janvier 2020 à 15:03:15

            julp a écrit:

            Pas forcément en wildcard mais qui correspond au moins aux noms que tu veux intercepter (ie qui correspond à ce que tu as mis en ServerName et ServerAlias quoi) sans quoi logiquement, tu (le client) vas te taper une erreur de certificat (et la redirection ne sera pas effective).

            Justement le VH 000-default n'a volontairement aucun serverName/Alias je veux qu'il serve tout ce qui n'a pas été attrapé par les autres VH.

            Mais je comprend la mieux la logique avec https. sans le certificat, impossible de transporter la requête.

            Pour l'instant j'ai fais un certificat pour *.monsite.tld et ça marche plutot bien, je me pencherai sur le SNI si je doit servir autre chose que des sous-domaines de monsite.tld, mais pour l'instant j'ai pas le cas de figure.

            Merci de l'explication en tout cas.

            • Partager sur Facebook
            • Partager sur Twitter

            Redirection https vers http avec apache2

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown