2016-04-12 4 views
0

Мой сайт размещен с Firebase Hosting, и я хочу сделать http-сообщение для процесса NodeJS, запущенного на экземпляре AWS EC2.Домен SSL не соответствует имени домена ec2

Первый сбой: EC2 был http, у меня была ошибка смешанного контента (https и http).

Далее я поставил в балансировки нагрузки в авансовые экземпляра EC2, и установил свой сертификат домена (www.mydomain.com) Второй сбой: Я получаю сообщение об ошибке ERR_INSECURE_RESPONSE как loadbalancer.amazonaws.com делает не соответствует www.mydomain.com

Я нахожусь в конце wit в разрешении того, что, по моему мнению, является прямым прецедентом. Пожалуйста помоги.

+0

Если у вас есть сертификат ssl для 'api.example.com', вам необходимо ** использовать это имя ** при доступе к машине, на которой установлен сертификат. Естественно, использование другого имени хоста не будет работать. Да, это довольно просто. –

+0

Спасибо @ Michael-sqlbot - Это помогло. – Nat

ответ

1

Два варианта.

Вам необходимо зарегистрировать свой домен с помощью Amazon, чтобы вы могли создать Hosted Zone в AWS Route53. Там вы можете создать запись, чтобы указать «mydomain.com» на ваш балансировщик нагрузки.

Другой вариант - с вашим текущим регистром (GoDaddy или кем-то еще), чтобы переадресовать свой домен на ваш балансировщик нагрузки. Вероятно, вам нужно включить «Переадресация с помощью маскирования», чтобы он по-прежнему выглядел как ваш домен, но обслуживается балансировщиком нагрузки AWS.

Дайте мне знать, что работает (или нет), и я обновлю этот ответ.

1

Вы получаете сообщение об ошибке ERR_INSECURE_RESPONSE, потому что используете CNAME, который разрешает loadbalancer.amazonaws.com. Поскольку ваш сертификат предназначен для www.yourdomain.com, он дает правильную ошибку. CNAME и Alias ​​работают несколько иначе. С CNAME трафик не является действительным псевдонимом вашего домена, поэтому, если вы пытаетесь его защитить, вы получите ошибки. Однако, когда вы создаете запись A для www и псевдонима, которая для loadbalancer.amazonaws.com теперь любой трафик с loadbalancer.amazonaws.com на www.yourdomain.com является действительным трафиком для вашего домена, и вы больше не будете иметь эти ошибки.

Чтобы остановить безопасный трафик на www.yourdomain.com на loadbalancer.amazonaws.com, вам необходимо иметь запись A, которая будет там. К сожалению, только ELB предоставляет запись DNS, не имеет IP-адреса, но многие поставщики DNS (то есть GoDaddy) не позволят вам иметь запись DNS A, которая сглажена на DNS-адрес; они требуют от вас псевдонима к IP-адресу. Это делает жизнь немного сложнее.

Существует несколько способов достижения этой цели (переадресация и маскировка URL-адресов не поддерживается SSL), но самым простым решением является использование маршрута 53. Использование маршрута 53 не требует, чтобы вы регистрировали или передавали свое имя AWS и размещенная зона составляют всего 0,50 доллара США за месяц на домен.

Чтобы использовать Route 53 выполните следующие действия:

  1. Создание Hosted зоны для yourdomain.com. Когда вы создаете Хостинговую зону в Маршруте 53, она завершит несколько записей по умолчанию (например, записи A, NS и SOA). Обратите внимание на записи NS, которые вам понадобятся позже.
  2. Затем скопируйте существующие записи файла зоны (например, записи MX) из вашего текущего поставщика DNS в вашу новую зону размещения.
  3. Когда дело доходит до записи, на которую вы хотите направлять трафик для своего ELB, вы введете имя, скажем, www, а затем чуть ниже поля опции типа вы увидите радиоописание, в котором говорится: «Псевдоним: да нет». Когда вы выберете «Да», поле значений исчезнет, ​​и вы увидите опцию «Alias ​​Target: Enter Target Name». Когда вы нажмете это поле, вы получите раскрывающийся список ресурсов в своей учетной записи, для которых вы можете использовать псевдоним. Просто выберите свой балансировщик нагрузки.
  4. Нажмите «Создать», и вы закончили с маршрутом 53.
  5. Теперь, когда все ваши записи dns будут скопированы, и вы перейдете к вашему регистратору и измените серверы имен на те, которые предоставил вам Route 53.

Теперь Route 53 обрабатывает ваш DNS для вас. И loadbalancer.amazonaws.com является действительным псевдонимом www.mydomain.com. Поскольку loadbalancer.amazonaws.com теперь является действительным псевдонимом www.yourdomain.com, когда вы посещаете сайт www.yourdomain.com, ваш ELB на loadbalancer.amazonaws.com прекратит трафик как www.yourdomain.com, и ваша ошибка будет решена.

Примечание: если ваши экземпляры находятся в us-east-1, вы можете получить неограниченное количество бесплатных стандартных, SAN и подстановочных SSL-сертификатов для своего ELB и домена с помощью диспетчера сертификатов.

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