Forum Linux.redhat Apache2 : rediriger http en https pour 2 virtual host sur 3 ?

Posté par .
Tags : aucun
0
19
déc.
2007
Bonjour,

J'ai un petit soucis :)
Je suis sous Red Hat 5 Entreprise et j'ai un serveur Apache 2.2 (2.2.3 exactement) qui tourne avec 3 virtualhosts.

Ces serveurs sont "name based" (ie. une seule @IP pour la machine et on différencie les serveurs en fonction du nom demandé).

J'ai donc une config placée dans /etc/httpd/conf.d/ pour ces hôtes qui ressemble à ça :


# Site en https (pour les tests)

ServerAdmin [...]
DocumentRoot [...]
DirectoryIndex index.php
ServerName test.pouet.fr
[...]

# Certificats
SSLEngine on
SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLProtocol all -SSLv2
SSLCertificateFile [...]
SSLCertificateKeyFile [...]


# Site en https (pour la prod)

ServerAdmin [...]
DocumentRoot [...]
DirectoryIndex index.php
ServerName www.pouet.fr
ServerAlias pouet.fr
[...]

# Certificats
SSLEngine on
#SSLCipherSuite HIGH:MEDIUM
SSLCipherSuite ALL:!ADH:RC4+SHA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
SSLProtocol all -SSLv2
SSLCertificateFile [...]
SSLCertificateKeyFile [...]


# Site en http (autre site mais même client donc meme machine)

ServerAdmin [...]
DocumentRoot [...]
DirectoryIndex index.php
ServerName www.autre.site.fr
ServerAlias [...]
[...]



Je précise tout de suite que si l'on accède aux sites avec les bons protocoles (http ou https selon le site), tout marche parfaitement.

Le problème c'est que je patauge pour trouver une solution à mon problème :
* si l'utilisateur entre http://www.pouet.fr ou http://pouet.fr il faut rediriger vers https//www.pouet.fr
* si l'utilisateur entre http://test.pouet.fr il faut rediriger vers https://test.pouet.fr

J'ai tenté de faire des RewriteRule mais cela n'a pas l'air de marcher et surtout je ne sais pas trop où les poser : à l'intérieur d'une instruction ? (placée dans le fichier de conf des virtualhost ou en .htaccess, peut importe)

Si quelqu'un pouvait m'aider, ce serait fortement apprécié !!
Merci d'avance :)
  • # Comme ça ?

    Posté par . Évalué à -1.

    <VirtualHost a.b.c.d:443>
    ServerName www.pouet.com
    Redirect / http://www.pouest.com/
    </VirtualHost>
    • [^] # Re: Comme ça ?

      Posté par . Évalué à 1.

      Non en fait plutôt l'inverse :)
      De plus, par défaut http utilise le port 80, donc on ne devrait jamais tomber sur un virtualhost qui écoute en port 443, non ?
    • [^] # Re: Comme ça ?

      Posté par . Évalué à 1.

      je penses en effet qu'il faut jouer avec les servername et server alias

      dans ton cas

      < virtualhost test.server.com:80>
      [...]
      Redirect / https://test.server.com/
      < /virtualhost >

      < virtualhost server.com:80>
      [...]
      ServerAlias www.server.com
      Redirect / https://www.server.com/
      < /virtualhost >
      • [^] # Re: Comme ça ?

        Posté par . Évalué à 1.

        J'avais pensé à faire des hôtes virtuels en port 80 qui redirigerait vers les sites https mais la raison pour laquelle je l'ai pas faite c'est que j'avais pas pensé à ajouter les ServerName et ServerAlias dedans ;)

        J'essaye et je donne le résulat !
        Merci
        • [^] # Re: Comme ça ?

          Posté par . Évalué à 1.

          Nickel !
          J'ai ajouté ces deux VirtualHost :

          <VirtualHost *:80>
          ServerName pouet.fr
          ServerAlias www.pouet.fr
          Redirect / https://www.pouet.fr
          </VirtualHost>
          <VirtualHost *:80>
          ServerName test.pouet.fr
          Redirect / https://test.pouet.fr
          </VirtualHost>


          Merci tout plein !
          Les solutions avaient l'air d'être nombreuses et je ne trouvais pas de solution simple.
          • [^] # Re: Comme ça ?

            Posté par . Évalué à 1.

            c'est pourtant logique...

            < virtualhost *:80> pour dire que tu regardes ce qui arrive sur le port 80

            ServerName et ServerAlias pour dire que tu regardes sous quel nom la demande arrive...

            et enfin le redirect qui dit ou tu renvoie les connections.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.