
Ubuntu 14.04 со стандартной установкой LAMP.
на одном IP я пытаюсь запустить два сайта, используя SSL с SNI. У меня есть два разных сертификата, и они применяются правильно. Моя проблема заключается в перенаправлении с HTTP на правильный сайт HTTPS.
Я тестирую последнюю версию Firefox, и TLS настроен правильно.
Итак, короче говоря, каждый HTTP-запрос перенаправляется на ....
Я проверил с помощью модуля перезаписи, отключив/включив, никаких различий не нашел.
сайты включены:
(основной сайт) dev.domain.com.conf
. Его содержимое представляет собой обычное содержимое виртуального хоста SSL...
<VirtualHost *:443>
ServerName dev.domain.com
ServerAlias dev.domain.com
...
(для перенаправления на основной сайт по HTTPS я создал этот дополнительный виртуальный хост)
dev.domain.com.80.conf
. Его содержимое:
<VirtualHost *:80>
ServerName dev.domain.com
ServerAlias dev.domain.com
ServerAdmin xxxxxxx
Redirect permanent / https://dev.domain.com/
</VirtualHost>
(второй основной сайт) www.domain.com.conf
. Его содержимое — обычный SSL vhost...
<VirtualHost *:443>
ServerName www.domain.com
ServerAlias www.domain.com
...
(для перенаправления на основной сайт по HTTPS я создал этот дополнительный виртуальный хост) www.domain.com.80.conf
. Его содержимое:
<VirtualHost *:80>
ServerName www.domain.com
ServerAlias www.domain.com
ServerAdmin rxxxxx
Redirect permanent / https://www.domain.com/
</VirtualHost>
Даже после добавления следующих настроек в ОБА конфига виртуального хоста, предназначенных для перенаправления, это не помогло.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
в то время как HTTP dev.domain.com
корректно переходит на HTTPS dev.domain.com
, HTTP www.domain.com
переходит на HTTPS dev.domain.com
.
Кроме того, если я открываю https URL для обоих сайтов, то все работает правильно. Не работает только перенаправление с http на https.
решение1
возможно, это был кэш браузера после бесчисленных правок во всех различных конфигурациях Apache. Вот резюме:
- mod_rewrite: не требуется.
- ИмяVirtualHost: не требуется.
- один виртуальный хост, настроенный для перенаправления, для каждого сайта.
- выше команды перенаправления в них.
вот и все.