Подтвердить что ты не робот

Что означает "каждый сертификат SSL требует выделенный IP"?

Я немного ознакомился с сертификатами SSL и, в частности, прочитал, что для SSL-сертификата требуется выделенный IP-адрес. Теперь я не уверен в значении этого; означает ли это, что для сертификата требуется выделенный IP-адрес отдельно от IP-адреса, используемого для обычной HTTP-связи, или просто, что он не может передавать IP-адрес другим сертификатам SSL?

Чтобы уточнить, у меня есть VPS с выделенным IP-адресом. В VPS размещается довольно много разных сайтов, включая несколько поддоменов основного сайта, но только основной сайт и субдомены требуют SSL. Могу ли я просто купить сертификат SSL для *.example.com, используя мой текущий IP-адрес, или мне нужно получить тот, который отделен от других сайтов на VPS? Или еще хуже, мне нужно получить тот, который отделен от всего HTTP-трафика на сервере? Имейте в виду, что ни один из других сайтов не нуждается в SSL.

Спасибо за разъяснения по теме.


Изменить: некоторые источники моих забот:

http://symbiosis.bytemark.co.uk/docs/symbiosis.html#ch-ssl-hosting

Необходимо ли иметь выделенный IP-адрес для установки сертификата SSL?

4b9b3361

Ответ 1

  • Нет такой вещи, как "SSL-сертификат". Этот термин вводит в заблуждение. Сертификаты X.509 могут выдаваться для разных целей (как определено их использованием ключа и использованием расширенного ключа), в частности для обеспечения сеансов SSL/TLS.

  • Сертификаты не требуют ничего в отношении сокетов, адресов и портов, поскольку сертификаты являются чистыми данными.

  • При обеспечении некоторого подключения к TLS обычно используется сертификат для аутентификации сервера (а иногда и клиента). Там один сервер на IP/порт, поэтому обычно нет проблем для сервера, чтобы выбрать, какой сертификат использовать.

    HTTPS - исключение — несколько разных доменных имен могут ссылаться на один IP-адрес, а клиент (обычно браузер) подключается к одному и тому же серверу для разных доменных имен. Доменное имя передается серверу в запросе, который отправляет после TLS.

    Здесь, где возникает проблема - веб-сервер не знает, какой сертификат представить. Для этого в TLS добавлено новое расширение с именем SNI (идентификация имени сервера). Однако не все клиенты поддерживают его. Поэтому в целом рекомендуется иметь выделенный сервер на каждый IP/порт для каждого домена. Другими словами, каждый домен, к которому клиент может подключиться с использованием HTTPS, должен иметь свой собственный IP-адрес (или другой порт, но это не обычный).

Ответ 2

Сертификаты SSL не требуют выделенного IP-адреса. Сертификаты SSL хранят так называемое общее имя. Браузер интерпретирует это общее имя как DNS-имя сервера, с которым они разговаривают. Если общее имя не соответствует DNS-имени сервера, с которым работает браузер, браузер выдаст предупреждение.

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

Ответ 3

... после ответа @Eugene с дополнительной информацией о проблеме совместимости...

Согласно эта страница с namecheap.com SNI не работает:

  • Windows XP + любая версия Internet Explorer (6,7,8,9)
  • Internet Explorer 6 или более ранняя версия
  • Safari в Windows XP
  • Браузер BlackBerry
  • Windows Mobile до 6.5
  • Браузер Nokia для Symbian по крайней мере на Series60
  • Opera Mobile для Symbian по крайней мере на Series60

Веб-сайт по-прежнему будет доступен через HTTPS, но появится ошибка несоответствия сертификата.

Таким образом, по мере того, как мы входим в 2016 году, я бы рискнул высунуть себе шею и сказать: "Если вы строите современный веб-сайт (не поддерживая старые браузеры), и если проект настолько маленький, что он не может позволить себе выделенный IP-адрес, вы, вероятно, будете в полной мере полагаться на SNI". Конечно, есть тысячи экспертов, которые бы не согласились с этим, но мы говорим о том, чтобы быть практичным, а не идеальным.

Ответ 4

Имя отправителя сертификата ssl должно совпадать с именем домена. У вас нет никаких требований по IP-адресу, если только это ограничение не наложено поставщиком сертификатов или программным обеспечением сервера http.

Изменить: глядя в Интернет, похоже, что слух был распространен, потому что плагин Apache ssl не имеет (по крайней мере, в 2002 году) никакого механизма для использования другого сертификата на основе имени хоста. В таком сценарии вам придется запускать два разных веб-сервера Apache на двух разных IP-адресах.

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

Я бы попытался в любом случае настроить веб-сервер с самоподписанным сертификатом, прежде чем тратить деньги на второй ip или сертификат.

Изменить 2: справочная документация apache:

http://httpd.apache.org/docs/2.2/vhosts/name-based.html

Кажется, что теперь (apache >= 2.2.12) поддерживается