У моего веб-сайта есть сертификат SSL (пример URL: https://subdomain.example.com). В Apache он настроен как для порта 80, так и для порта 443. Итак, в следующей конфигурации любой, кто заходит на http://subdomain.example.com отправляется https://subdomain.example.com . Но для посещений из Internet Explorer перенаправления не происходит. Вместо этого при посещении http появляется сообщение «Internet Explorer не может отображать веб-страницу». со списком клиентских решений, которые стоит попробовать.
Есть какие-нибудь идеи о том, как исправить конфигурацию, чтобы посещения IE имели такое же поведение, как и другие браузеры (то есть автоматически отправляли http на https)?
NameVirtualHost *:443
<VirtualHost *:80>
DocumentRoot /var/www/somewebroot
ServerName subdomain.example.com
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/somewebroot
ServerName subdomain.example.com
# SSL CERTS HERE
</VirtualHost>
* Протестировано IE8, IE9 beta
Размещение этого кода в определении виртуального хоста HTTP должно сделать это.
RewriteCond %{HTTPS} !=on [NC] RewriteRule ^/(.*) https://subdomain.example.com [R=301,L]
Если вы тестируете изменения, у вас могут возникнуть проблемы с IE, если вы не закроете все окна IE и не перезапустите его. IE может агрессивно использовать свой кеш.
РЕДАКТИРОВАТЬ: вам необходимо убедиться, что mod_rewrite включен. Команда a2enmod rewrite
. Он сообщит вам, включен ли модуль. В противном случае вам нужно будет выключить и перезапустить сервер после включения модуля.
Добавьте приведенные выше строки в определение вашего виртуального хоста и используйте apache2ctl graceful
для перезагрузки измененной конфигурации. В Документация Apache есть подробности о переписывании.
Вы должны увидеть перенаправление в виде запроса статуса 301 в журнале доступа, за которым следует статус 200 или 304 для HTTPS-соединения. Отображаемый URL-адрес должен измениться на новое местоположение.
Регистрация порта в расширенном формате журнала помогает увидеть, с каким подключением происходит что-то. Или используйте отдельные журналы для каждого виртуального сервера.