Когда я ввожу URL-адрес своего веб-сайта cms00.example.com без использования SSL в свой браузер, он не перенаправляет https://cms00.example.com. Если я введу адрес HTTP, я увижу сайт, а если введу адрес HTTPS, я увижу сайт. Я просто не могу заставить работать перенаправление с http на https. Я прочитал множество статей о том, как это сделать, и попробовал все предложения, но моя конфигурация все еще не работает. Я использую Apache 2.4.10 на Debian 8, и я впервые работаю с Apache.
Я выполнил эти две команды и убедился, что модули rewrite и ssl загружены:
sudo a2emod rewrite # <- already enabled
sudo a2emod ssl # <- already enabled
Я не вносил никаких изменений в /etc/apache2/apache2.conf и не создавал никаких дополнительных файлов .htaccess.
Вот мой файл конфигурации:
# /etc/apache2/sites-available/vhosts.conf
DirectoryIndex index.php index.html
<VirtualHost *:80>
ServerName cms00.example.com
DocumentRoot "/var/www/html"
Redirect permanent / https://cms00.example.com
</VirtualHost>
<VirtualHost *:443>
ServerName cms00.example.com
DocumentRoot "/var/www/html"
SSLEngine on
SSLCipherSuite AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCompression off
SSLCertificateFile /etc/apache2/ssl/example.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/private/example.com.key
<Directory "/var/www/html">
AllowOverride All
Options -Indexes +FollowSymLinks
Require all granted
</Directory>
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
Я решил проблему. Вот что происходит. /etc/apache2/apache2.conf включает вызов любых файлов конфигурации, которые имеют символические ссылки в / etc / apache2 / sites-enabled. Поскольку в этом каталоге была символическая ссылка, указывающая на /etc/apache2/sites-available/000-default.conf, этот последний файл конфигурации загружался, и он переопределял блоки и директивы в моем файле vhosts.conf. Как только я удалил эту символическую ссылку, мои настройки vhosts.conf вступили в силу. Урок для меня заключался в том, что любой файл, имеющий символическую ссылку в разрешенных сайтах, будет включен.