2015-10-25 2 views
-1

У меня есть веб-сайт, работающий на AWS, которому нужен SSL. Веб-сайт имеет функциональность, которая должна быть белой надписью в соответствии с доступным поддоменом. Например, при доступе к веб-сайту www.a.the-site.com сайт будет отличаться от того, когда он доступен с сайта www.b.the-site.com, но он является тем же самым виртуальным хостом, который обрабатывает оба URL-адреса. Я использую ELB, который направляется к экземпляру EC2 (только один экземпляр на этом этапе). Это работало нормально при работе над обычным http.AWS ELB с сертификатом SSL GoDaddy

Я выполнил пошаговое руководство по AWS (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html и http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-create-https-ssl-load-balancer.html#configure-https-listener), чтобы сгенерировать ключи (шаги, изложенные ниже для удобства) и получил сертификат от GoDaddy. (При вставке CSR на процесс запроса сертификата веб-сайта GoDaddy отображается правильный CN). Приобретенный сертификат был подстановочным сертификатом для поддержки разных поддоменов. Я применил сертификат на ELB, используя интерфейс веб-сайта AWS, который не вызывал никаких ошибок, но теперь, когда я обращаюсь к сайту через https, я получаю ошибку SSL в браузере:

«Сертификат безопасности, представленный этим сайт был выпущен для другого адреса веб-сайта ».

Исследуя сертификат на https://www.sslshopper.com показывает следующее:

enter image description here

Он утверждает, что ни один из распространенных имен не совпадают, но общее название в цепочке является правильным (* .the-site.com)

Я также могу опубликовать шаги, необходимые для создания закрытого ключа и CSR, но я не получил никаких указаний на их неправильность. Похоже, CN * .the-site.com не разрешает www.a.the-site.com. Может кто-нибудь пролить некоторый свет на это?

+1

Это правильное поведение. Символ '*' в подстановочном SSL-сертификате охватывает только/соответствует одному уровню имен хостов, поэтому 'a.example.com' будет соответствовать, но' www.a.example.com' не будет соответствовать. Ваше решение (обходное решение) будет состоять в том, чтобы настроить вашу платформу для приема входящего заголовка «Хост:», если найден «www.',« разбить »его и переадресовать браузер« 301 Перемещено навсегда »с помощью« Местоположение: https: // a .example.com', так что ссылка «www» работает при использовании без https. Опубликованные HTTPS-ссылки должны будут исключать префикс www. –

+1

Возможный дубликат [Проблемы с SSL и многодоменными субдоменами] (http://stackoverflow.com/questions/5295521/problems-with-ssl-and-multi-level-subdomains) –

ответ

0

@Michael - sqlbot был прав, сертификат подстановки проверяет только один домен. Я изменил настройки своего домена, чтобы не перенаправлять на www.a.example.com, а скорее a.example.com (отбрасывая субдомен www), и все работает как ожидалось.

Смежные вопросы