Назад |
Перейти на главную страницу
Общие вопросы по SSL о сертификатах, доменах и серверах
Я делал только базовые вещи с подписанными сертификатами (в основном следую инструкциям CA).
У меня есть общие вопросы, на которые я надеюсь, что кто-нибудь сможет ответить. Доступно так много разных сертификатов и еще больше ценовых категорий. Ищу экономичный способ использовать SSL для ряда служб, размещенных на одном физическом сервере.
У сервера есть доменное имя: servername.mydomain.com
Сервер также отвечает на псевдонимы: www.mydomain.com
,.mail.mydomain.com
, mydomain.com
Сервер также отвечает на виртуальные домены: www.virtual1.com
, mail.virtual1.com
, www.virtual2.com
Насколько я понимаю, базовый SSL от кого-то вроде RapidSSL будет охватывать только основной servername.mydomain.com
. Что произойдет, если кто-то попадет в виртуальный домен? или псевдоним? Нужны ли нам сертификаты и для этих доменов?
Какой экономичный способ охватить все вышеперечисленные сценарии?
А как насчет того, чтобы просто покрыть все псевдонимы в основном домене?
Вам нужны SAN (также известный как UCC), Wilcard Certs или SNI.
- SAN = альтернативное имя субъекта. Сертификаты выдаются субъекту, которые чаще всего представляют собой общие имена (CN), такие как «www.example.com». Сертификаты могут иметь альтернативные имена.
- Проблема в том, что вы должны назвать каждого из них. Например, «a1.example.com», «a2.example.com», «b1.example.com».
- Преимущество заключается в том, что большинство провайдеров предлагают это решение довольно дешево, и почти все программное обеспечение с поддержкой SSL хорошо их поддерживает.
- Сертификаты с подстановочными знаками - это в какой-то степени то, на что они похожи. Вы можете получить сертификат с подстановочным знаком для «* .example.com», и он будет охватывать «something.example.com» и «zebra.example.com».
- Преимущество заключается в том, что вы можете использовать один сертификат для неограниченного количества поддоменов одного домена.
- Есть два основных недостатка. Во-первых, у вас может быть только один подстановочный знак, поэтому он может быть только для одного домена. Во-вторых, подстановочный знак применяется только к тому уровню, на котором он появляется. Поэтому, если вы получите сертификат с подстановочным знаком, как описано выше, он не работать на "level.two.example.com"
- SNI = индикатор имени сервера. Это новая технология, которая позволяет веб-серверу использовать несколько сертификатов для одного адреса и порта. Обычно вы можете использовать только 1 сертификат для набора IP: Port. Если вы хотите использовать несколько сертификатов, вам нужно было либо использовать несколько IP-адресов, либо несколько портов (порты, как правило, не работают должным образом, поскольку вам нужно явно указать порт в URL-адресе, и ни один обычный пользователь никогда не узнает, чтобы ввести номер порта или даже как).
- Плюс: вы можете использовать любую комбинацию уже упомянутых сертификатов на одном сервере. Это позволяет довольно легко разместить все, что вы упомянули в вопросе.
- Плохое: довольно мало серверного программного обеспечения поддерживает его, большинство основных веб-серверов поддерживают его в своих последних версиях, но не все, и за пределами веб-серверов это довольно редко.
- Хуже того: почти никто из клиентов не поддерживает SNI, за исключением интернет-браузеров последнего поколения. Если вы не укажете своим клиентам, что у них должен быть обновленный веб-браузер, и эти клиенты действительно будут соблюдать требования, это не вариант в течение следующих 2–4 лет.
Что вам подходит? Вероятно, вам прямо сейчас будет плохо с парой подстановочных сертификатов на разных IP-адресах. На самом деле лучшего варианта пока нет. В результате некоторые поставщики сертификатов предлагают довольно дешевые сертификаты с подстановочными знаками; я использую http://startssl.com потому что они очень дешевы и работают.