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

Динамические поддомены https

Я хотел бы реализовать динамические поддомены для сайта, который должен быть безопасным (ssl).

Я могу настроить вызов dns api для добавления имени A для поддомена, но мне было интересно, может ли кто-нибудь порекомендовать подход для добавления информации ssl (на основе сертификата ssl с подстановочными знаками)?

Все поддомены будут для основного домена имени.

например.

https://abc.domain.com

https://def.domain.com

https://ghi.domain.com

Веб-сервер - это apache, обслуживающий php.

Основная проблема заключается в том, что перед отправкой базового http-запроса браузер сначала должен преодолеть препятствие SSL. На этом этапе имя хоста сравнивается с сертификатом, который используется для шифрования. Таким образом, прежде чем веб-серверу сообщается имя запрашиваемого сайта, браузер пользователя уже видит жалобы на то, что имя хоста в сертификате отличается.

Преемник SSL называется TLS, и у него есть функция, позволяющая разрешить то, что вам нужно: указание имени сервера (SNI).

Прочтите здесь для получения дополнительной информации о TLS и SNI на этих страницах Википедии:

Вот довольно хороший демонстрационный сайт:

У вас не может быть более одного доменного имени на IP-адрес по HTTPS. Заголовок Host не отправляется, поэтому сервер не знает доменного имени, для которого он обслуживает контент HTTPS, - только IP-адрес.

редактировать: Подстановочный сертификат позволит обслуживать тем же контент с одного IP-адреса на несколько поддоменов, но я понимаю ваш вопрос, что вы хотите, чтобы разный контент обслуживался для разных поддоменов.

Вы можете получить подстановочный сертификат для CN = *. Domain.com

Вы можете настроить запись DNS с подстановочными знаками (или несколько отдельных записей), чтобы * .domain.com переходил на один IP-адрес, а затем получил сертификат SSL с подстановочными знаками для * .domain.com

Затем на сервере все 3 URL-адреса попадут на один и тот же веб-сайт, где вам нужно будет обработать в серверном скрипте, какой сайт показывать на основе используемого имени хоста.

Проверьте поддержку альтернативного имени субъекта у вашего поставщика сертификатов.

Некоторые предлагают это, другие нет (Verisign предлагает, но вы должны пройти через их канал продаж PKI!).

Дигисерт делает:

http://www.digicert.com/subject-alternative-name.htm

Ура