У меня есть несколько виртуальных хостов на моем сервере, скажем, я обслуживаю
www.example.com
sub.example.com
www.example.nl
В моем конфиге DNS все указывает на один и тот же сервер.
В конфигурации apache2 есть конфигурационный файл по умолчанию для http и один для https, а также дополнительные vhosts для дополнительных сайтов. Я хочу, чтобы все ближние матчи были перенаправлены на www.example.com
, Все конкретные сайты имеют сертификат.
Так что мои файлы выглядят так
000-default.conf (redirects to https://www.example.com)
default-ssl.conf (serves https://www.example.com)
sub.example.com.conf (redirects to https://sub.example.com)
sub.example.com-ssl.conf (serves https://sub.example.com)
www.example.nl.conf (redirects to https://www.example.nl)
www.example.nl-ssl.conf (serves https://www.example.nl)
Проблема сейчас в том, что любой другой запрос (скажем, для be-creative.example.nl
) по умолчанию первая загруженная конфигурация. Это работает для http ( 000-default
будет соответствовать и перенаправлять), но он не работает для https, потому что у меня нет действительного сертификата для be-creative.example.nl
, Поэтому я не могу ни перенаправить, ни обслуживать действительную страницу.
Если я отключу default-ssl.conf
запрос соответствует sub.example.com-ssl.conf
и неправильный сертификат обслуживается до сих пор.
Вопрос : Как я могу обработать эти запросы, для которых у меня нет сертификата элегантно? Как я могу перенаправить на http, не имея предварительно действующего сертификата соответствия?
источник