AWS EC2 балансировка нагрузки SSL NodeJS — где я ошибаюсь

#node.js #amazon-web-services #ssl #amazon-ec2 #amazon-elb

#node.js #amazon-веб-сервисы #ssl #amazon-ec2 #amazon-elb

Вопрос:

Я довольно новичок во всем этом (будучи разработчиком приложений / мобильных веб-приложений).

Я настроил экземпляр на EC2, который отлично работает по протоколу http.

Я хочу добавить поддержку https, поскольку я хочу написать service worker.

Я использовал диспетчер сертификатов Amazons для получения сертификата, я создал ELB и добавил прослушиватель на 443 для https

Я не совсем уверен, подключены ли мой ELB и экземпляр EC2. Следуя некоторым инструкциям, я попытался создать правило CNAME в моей настройке Route53, но оно не приняло его (указывая на ELB DNS).

Насколько я понимаю, если это так, то мой экземпляр http nodejs теперь должен автоматически поддерживать https.

В настоящее время это не так. Мой код nodejs не изменился (он по-прежнему создает только http-сервер, прослушивающий порт 3002.

Когда я выполняю http-вызов домена (http://example.com:3002 ) это работает, но вызов https (https://example.com:3002 ) не удается достичь сбоя с сайтом.

Это наводит меня на мысль, что ELB и EC2 не связаны. Кто-нибудь может подсказать, где я, возможно, ошибся, поскольку я искал в Интернете в течение 3 дней и не нашел никаких пошаговых инструкций для этого.

Ответ №1:

Вам нужно сосредоточиться на этой части вашего вопроса:

Я не совсем уверен, подключены ли мой ELB и экземпляр EC2. Следуя некоторым инструкциям, я попытался создать правило CNAME в моей настройке Route53, но оно не приняло его (указывая на ELB DNS).

Почему вы не уверены, что они подключены? Вы должны иметь возможность просмотреть раздел проверки работоспособности в пользовательском интерфейсе балансировщика нагрузки и увидеть, что экземпляр сервера «подключен» и исправен. Если это не так, то это первое, что вам нужно исправить.

Что касается CNAME в Route53, что вы имеете в виду, что он его не примет? Каковы подробности этой проблемы? Пока ваш DNS не укажет на балансировщик нагрузки, вы фактически не будете использовать балансировщик нагрузки, так что это еще одна проблема, которую вам нужно исправить.

Когда я выполняю http-вызов домена (http://example.com:3002 ) это работает, но вызов https (https://example.com:3002 ) не удается достичь сбоя с сайтом.

Если у вас произошла ошибка при настройке DNS, то, конечно, это не сработает. Вам не следует даже пытаться протестировать это, пока вы не настроите DNS.

Комментарии:

1. Фокусируюсь на проблеме CNAME в Route53. Я попытался создать новый набор записей. Я оставил имя пустым. Я выбрал CNAME из Type и вставил DNS для ELB в значение.

2. Если вы оставите имя пустым, это не может быть CNAME, потому что это не поддомен. Вам нужно создать запись A, выбрать «псевдоним», а затем выбрать ELB из списка доступных псевдонимов. Также, пожалуйста, указывайте сообщение об ошибке при запросе помощи с ошибками.

3. Отлично, я создал запись A, а не CName. Я также настроил проверку работоспособности и вижу, что http-трафик исправен, а https-трафик — нет. Выдает следующую ошибку: Сбой: соединение было закрыто конечной точкой

4. Как у вас настроен прослушиватель HTTPS?

5. Мой экземпляр EC2 имеет четыре группы безопасности. Фокусируюсь на узле с тем же идентификатором VPC, что и ELB. У меня два слушателя. Во-первых, это общий, который всегда есть.