Redirection Apache correcte de http vers https
J'ai configuré un nouvel hôte virtuel pour un nouveau site sur mon serveur, mais il agit étrangement malgré les mêmes paramètres que mon site d'origine.
Je veux que toutes les demandes soient redirigées vers HTTPS, tout simplement. Sur mon site principal (le site de travail), cela est spécifié dans la configuration VirtualHost
, et dans .htaccess
, j'ai une règle supplémentaire spécifiée pour autoriser les URL courtes. Plus précisément, le problème sur le site non fonctionnel est que si j'essaie d'aller à example.com/url
, la redirection va à https://example.comurl
et supprime le /
nécessaire de l'URL.
J'ai copié la configuration exacte dans le nouveau fichier VirtualHost
et .htaccess
du site de travail, donc je ne sais pas pourquoi cela ne fonctionne pas sur le nouveau. Mes enregistrements DNS pour les deux sites utilisent tous des enregistrements A pour le pointer, aucune redirection ou quoi que ce soit ne se produit au niveau DNS. J'ai essayé de mettre un /
à la fin des lignes Redirect
dans le code ci-dessous, mais le problème n'a pas été résolu. Le serveur est Ubuntu 14.04 et Apache est la version 2.4.7. Les deux sites sont des noms de domaine distincts avec des fichiers .conf
distincts utilisés, mais ils sont hébergés sur le même serveur avec la même adresse IP. Comment puis-je résoudre ce problème?
Le code pertinent dans le VirtualHost
:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com
</VirtualHost>
Et dans .htaccess
:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*.html$ %{REQUEST_FILENAME}.html [L]
Au cas où cela aiderait/importerait, il s'agit de la configuration SSL dans mon fichier VirtualHost, bien qu'elle soit placée au tout début du fichier en dehors de toutes les autres directives:
SSLCipherSuite AES128+EECDH:AES128+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdo$
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
Et c'est la configuration spécifiquement pour le VirtualHost
pour le site:
<VirtualHost *:443>
ServerName example.com
ServerAdmin user@example.com
DocumentRoot /var/www/example
ErrorLog ${APACHE_LOG_DIR}/errorexample.log
Options -Indexes
SSLEngine on
SSLCertificateFile /etc/ssl/example/examplecert.crt
SSLCertificateKeyFile /etc/ssl/example/examplekey.key
SSLCertificateChainFile /etc/ssl/chain/class1.pem
</VirtualHost>