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

Нужен ли каждому поддомену собственный сертификат SSL?

Я создаю сервер websocket, который будет жить на ws.mysite.example. Я хочу, чтобы сервер веб-сокетов был зашифрован SSL, а также domain.example быть зашифрованным SSL. Нужно ли мне покупать новый сертификат для каждого создаваемого мной поддомена? Нужен ли мне выделенный IP-адрес для каждого создаваемого мной поддомена? Скорее всего, у меня будет несколько поддоменов.

Я использую NGINX и Gunicorn под Ubuntu.

Я отвечу на это в два этапа ...

Вам нужен сертификат SSL для каждого поддомена?

Да и нет, это зависит от обстоятельств. Ваш стандартный сертификат SSL будет для одного домена, скажем www.domain.example. Помимо стандартного однодоменного сертификата, вы можете получить разные типы сертификатов: подстановочные знаки и многодоменные сертификаты.

  • А сертификат wild card будет выдаваться за что-то вроде *.domain.example и клиенты будут рассматривать это как действительное для любого домена, заканчивающегося на domain.example, Такие как www.domain.example или ws.domain.example.

  • А многодоменный сертификат действительно для заранее определенного списка доменных имен. Это делается с помощью поля «Альтернативное имя субъекта» сертификата. Например, вы можете сообщить центру сертификации, что вам нужен многодоменный сертификат для domain.example и ws.mysite.example. Это позволит использовать его для обоих доменных имен.

Если ни один из этих вариантов у вас не работает, вам потребуется два разных сертификата SSL.

Нужен ли мне выделенный IP для каждого поддомена?

Опять же, это и да, и нет ... все зависит от вашего веб-сервера / сервера приложений. Я специалист по Windows, поэтому отвечу примерами IIS.

  • Если вы используете IIS7 или более раннюю версию, вам необходимо привязать сертификаты SSL к IP-адресу, и вы не можете назначить несколько сертификатов одному IP-адресу. Это приводит к необходимости иметь разные IP-адреса для каждого поддомена, если вы используете выделенный сертификат SSL для каждого поддомена. Если вы используете сертификат с несколькими доменами или сертификат с подстановочными знаками, вы можете обойтись без единого IP-адреса, так как для начала у вас есть только один сертификат SSL.

  • Если вы используете IIS8 или новее, то применимо то же самое. Однако IIS8 + включает поддержку так называемого указания имени сервера (SNI). SNI позволяет привязать сертификат SSL к имени хоста, а не к IP. Таким образом, имя хоста (имя сервера), которое используется для выполнения запроса, используется для указания, какой сертификат SSL, который IIS должен использовать для запроса.

  • Если вы используете один IP-адрес, вы можете настроить веб-сайты для ответа на запросы для определенных имен хостов.

Я знаю, что Apache и Tomcat также поддерживают SNI, но я недостаточно знаком с ними, чтобы знать, какие версии поддерживают его.

Нижняя граница

В зависимости от вашего приложения / веб-сервера и типа сертификатов SSL, которые вы можете получить, будут зависеть ваши варианты.

Вы можете получить сертификат для каждого поддомена, сертификат нескольких поддоменов или подстановочный сертификат (для *.yoursite.example).

Однако они обычно стоят немного дороже, чем обычные сертификаты, и поскольку вы используете один сертификат, они, как правило, не лучший вариант с точки зрения безопасности, если вы не размещаете anything.mydomain.example тип приложения, в котором они являются единственным приемлемым выбором.

Вам также не нужно несколько IP-адресов, если у вас есть Веб-сервер с поддержкой SNI. При этом SNI поддерживается только в современных браузерах (IE6 и ниже не будут работать с ним). Последние версии Nginx и Apache прозрачно поддерживают SNI (просто добавьте виртуальные хосты с поддержкой SSL).

Вам понадобится либо отдельный сертификат для каждого поддомена, либо вы можете приобрести групповой сертификат (*.domain.example) - дороже, но имеет смысл, если у вас много поддоменов.

Что касается IP-адресов, это зависит от того, как вы настроили свой сервер. Вы можете использовать правила имени хоста для обслуживания нескольких сайтов с одного и того же IP-адреса или использовать уникальные IP-адреса для каждого из них. У обоих методов есть свои плюсы и минусы.