Назад | Перейти на главную страницу

Перенаправление Apache с поддомена ssl не работает

Я пытаюсь перенаправить весь трафик на https и все поддомены на основной домен и не могу понять это правильно. Я использую Ubuntu 14.04 с последней версией apache2.

Я настроил виртуальный хост для порта 80, чтобы перенаправить весь трафик на https:

<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>

и настройте виртуальный хост ssl для перенаправления всех поддоменов в основной домен:

    <IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerAdmin admin@example.com
     ServerName example.com
     ServerAlias *.example.com
     DocumentRoot /var/www/example.com/public_html/
     ErrorLog /var/www/example.com/logs/error.log
     CustomLog /var/www/example.com/logs/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
Include /etc/letsencrypt/options-ssl-apache.conf
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com-0001/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com-0001/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/example.com-0001/chain.pem

Redirect permanent / https://example.com

</VirtualHost>

</IfModule>

Результат такой:

РАБОТАЕТ http://example.com к https://example.com

РАБОТАЕТ http://anything.example.com к https://example.com

НЕ РАБОТАЕТ https://anything.example.com к https://example.com

Вопрос: как перенаправить поддомен ssl на основной домен?

Подскажите пожалуйста, что я делаю не так.

Большое спасибо.

Учитывая, что кажется, что Let's Encrypt будет только начать выдача подстановочных сертификатов в январе 2018 г., и ваш сервер настроен ранее, похоже, что вы не используете SSL-сертификат с подстановочными знаками.

Чтобы связаться с httpsдаже для перенаправления или обработки вашего «псевдонима» у вас должен быть действующий сертификат SSL для любого домена, который отправляет клиент.

Рукопожатие SSL происходит прежде всего в сервере Apache обрабатывается. Другими словами, если вы не используете SSL-сертификат с подстановочными знаками, квитирование SSL не будет выполнено для https://anything.example.com перед у файла конфигурации Apache когда-либо есть возможность обработать псевдоним.

Независимо от того, что еще может быть проблемой, это необходимо исправить до того, как, если потребуется, будет поставлен какой-либо дополнительный диагноз. Например, если желаемое поведение таково, что https://anything.example.com быть "перенаправленным" на http://example.com вам, вероятно, придется использовать mod_rewrite соответствие условий как RedirectMatch директива сопоставляется только с URL-путем, и использование ServerAlias создаст нужно соответствует для обработки первоначального запроса, но не будет пытаться «переписать» или «перенаправить» запрос на другой желаемый URL.

Проблема не может быть решена с текущей версией Let's Encrypt. В 2018 они выпустят новую версию с поддоменом с подстановочными знаками, что мне и нужно.

Спасибо всем за ваши усилия.