Разные SSL-сертификаты для разных частей сайта - PullRequest
2 голосов
/ 25 августа 2010

У меня есть сайт на example.com, который загружает все его статические компоненты с s.example.com (дистрибутив Amazon Cloudfront).

Теперь я хотел бы использовать несколько страниц example.com для использования.https, поэтому я подумал, что куплю ssl-сертификат для example.com, но поскольку страницы загружают изображения и другие материалы с s.example.com, https прекратит работу, поскольку некоторые компоненты не зашифрованы.

можно купить второй сертификат для s.example.com?Причина, по которой я спрашиваю, заключается в том, что купить два сертификата с одним доменом намного дешевле, чем приобрести сертификат с подстановочными знаками.

Ответы [ 3 ]

2 голосов
/ 25 августа 2010

Это зависит от того, работают ли два хоста на одном сервере и IP-адресе (используя виртуальные хосты) или нет.

Самый простой способ - иметь возможность размещать example.com и s.example.com на двух разных IP-адресах (возможно, на одной машине), и в этом случае вы можете настроить разные сертификаты для каждого.

Если вы обязаны иметь один IP-адрес (и порт) для двух имен, если вы хотите использовать два разных сертификата, вам нужно будет использовать Индикация имени сервера (SNI) расширение, которое является относительно новым (и может поддерживаться не всеми браузерами, но, похоже, работает с последними). ​​

Если вы не можете использовать SNI, вам потребуется один и тот же сертификат, чтобы он действовал одновременно и для example.com, и для s.example.com, чего можно достичь, поместив две записи DNS в альтернативное имя субъекта расширение, или, возможно, с помощью подстановочного знака, если шаблон для двух хостов подходит. Эти два варианта, вероятно, дороже, чем два отдельных сертификата с коммерческими центрами сертификации.

После этого необходимо ссылаться на содержимое страницы (img ...), используя https:// ссылки, как уже сказал @ ring0 .

1 голос
/ 25 августа 2010

Проблема с различными сертификатами для разных (под) доменов заключается в том, что у вас должен быть выделенный IP для домена.Это связано с дизайном SSL - сначала устанавливается SSL-соединение, и в этот момент сертификат проверяется.Сервер не знает, какой сертификат представить на данный момент.Только после успешного рукопожатия отправляется HTTP-запрос с именем домена.

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

0 голосов
/ 25 августа 2010

Вы должны иметь возможность запускать страницу с другим https://domains без предупреждения от браузера, если все компоненты на странице имеют http или все https.

<img src="https://example.com/a.jpg"/>
<img src="https://s.example.com/b.jpg"/>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...