[Apache] Redirection vers https

Exemple de redirection générale de http vers https avec Apache et mod_rewrite:

<VirtualHost *:80>
  RewriteEngine On
  RewriteCond %{SERVER_PORT} ^80$
  RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
</VirtualHost>
<VirtualHost *:443>
  # Configuration!
</VirtualHost>

Cette manière de rediriger me semble particulièrement intéressante dans le cas où l’on a besoin de déployer simplement une configuration Apache valable pour différents environnements ayant des noms de domaine différents. On évite ainsi d’avoir à définir explicitement l’url vers laquelle on redirige avec :

RedirectPermanent / https://demo.monprojet.org/

Avec la redirection par réécriture d’url, nous allons pouvoir déployer indifféremment le même fichier de configuration Apache sur les machines de pré-production, démo et test par exemple.

Le seul point qui pourrait poser problème concerne le certificat. Soit nous disposons d’un certificat wildcard valable sur tous les sous-domaines et dans ce cas là, cela devrait rester relativement simple. Dans le cas contraire, nous pourrions envisager de stocker les fichiers de certificats au même endroit et avec le même nom sur chaque machine.

  SSLEngine On
  SSLCertificateKeyFile /path/to/projet.key
  SSLCertificateFile /path/to/projet-cert.pem