Защитите URL-адрес с записью cname

У меня есть сайт с поддоменами для каждого пользователя и подстановочный сертификат SSL

https://user1.mysite.com

https://user2.mysite.com

Вопрос в том, может ли кто-нибудь установить запись cname, такую ​​​​как user1.theirsite.com -> user1.mysite.com, и по-прежнему использовать https?

Будет ли это работать, если они установят SSL-сертификат на своем сервере для защиты соединения?

Спасибо


person bones    schedule 02.05.2012    source источник
comment
Если они используют CNAME на своем сервере, чтобы указать на ваш, с ними никогда не свяжутся для SSL-сертификата в первую очередь... верно? Что вас конкретно беспокоит?   -  person sarnold    schedule 02.05.2012
comment
Пользователи увидят, что соединение не является доверенным.   -  person bones    schedule 02.05.2012


Ответы (3)


Лучше всего, если они договорятся с вами, чтобы ваш SSL-сертификат включал их «псевдоним» в качестве расширения Subject Alternate Name в ваш сертификат X.509.

Это подход, используемый некоторыми CDN, когда они размещают https сайтов для клиентов — они помещают все известные имена сайтов, размещенных на одном сервере, в один большой SSL-сертификат, а затем клиенты используют CNAME, чтобы указать свой домен на правильный CDN. сервер.

person Alnitak    schedule 04.05.2012
comment
Не плохой вариант конечно. Он несет ту же ответственность, что и сертификат + закрытый ключ (и может усложнить процедуру подачи заявки), но может работать без SNI. - person Bruno; 04.05.2012
comment
Это может сработать. Варианты, которые я вижу на godaddy, имеют SSL с несколькими доменами или SSL с неограниченным поддоменом. Есть ли комбинированный или я бы использовал два? - person bones; 04.05.2012
comment
Не может ли один большой SSL-сертификат стать слишком большим? А если 1000 клиентов? - person KajMagnus; 09.07.2012

Проверка имени хоста и сертификата (и фактически проверка того, что SSL вообще используется) является исключительной обязанностью клиента.

Проверка имени хоста выполняется клиентом, как указано в RFC 2818, на основе имени хоста, которое они запрашивают в своем URL-адресе. Независимо от того, основано ли разрешение DNS-имени хоста на записи CNAME или на чем-то еще, это не имеет значения.

Если пользователи вводят https://user1.theirsite.com/ в своем браузере, сертификат на целевом сайте должен быть действителен для user1.theirsite.com.

Если у них есть собственный сервер для user1.theirsite.com, отличный от user1.mysite.com, запись DNS CNAME не имеет смысла. Предполагая, что два хоста фактически различны, они могут иметь собственный действительный сертификат для user1.theirsite.com и выполнять перенаправление на https://user1.theirsite.com/. Перенаправление также будет видно в адресной строке.

Если вы действительно хотите иметь CNAME от user1.theirsite.com до user1.mysite.com, они могут предоставить вам свой сертификат и закрытый ключ, чтобы вы также разместили его на своем сайте, используя указание имени сервера (при условии, что тот же порт и, конечно же, тот же IP-адрес). так как вы используете CNAME). Это будет работать для клиентов, которые поддерживают SNI. Однако для них был бы определенный риск, если бы они предоставили вам свои закрытые ключи (что обычно не рекомендуется).

person Bruno    schedule 02.05.2012
comment
Это разочаровывает. Я думаю, мне придется держаться подальше от https, а затем перенаправлять их по мере необходимости. - person bones; 02.05.2012

Установлено и работает следующее:

Запись DNS для a.corp.com -> CNAME b.corp2.com -> A 1.2.3.4

Haproxy на 1.2.3.4 выдаст сертификат для a.corp.com, и сайт нормально загрузится с серверной части веб-сервера.

Итак, на вашем сервере вам понадобится сертификат user1.theirsite.com, и он будет работать.

person ffghfgh    schedule 19.01.2016