Балансировщик нагрузки приложений AWS HTTP на HTTPS с экземпляром EC2 - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть экземпляр EC2, на котором запущен сервер Node.Js в Ubuntu.

Мои цели:

  1. Подключить мою размещенную зону к экземпляру EC2
  2. Направляйте весь входящий трафик с порта 80 на порт 3000 (потому что мой сервер работает на порту 3000)
  3. и, самое главное, используйте балансировщик нагрузки приложения для пересылки всех запросов на HTTPS (я уже создал сертификат SSL в диспетчере сертификатов).

В настоящее время я могу открыть веб-сайт только с EC2 intances 'Public Ip на порту 3000 (http://prntscr.com/livali). Запросы Https или Http на порт 80 не работают).(http://prntscr.com/livau2). Я сделал запись A в моей размещенной зоне с экземплярами Public Ip, невозможно открыть экземпляр через размещенную зону (http://prntscr.com/liv9no).

Ядействительно запутался, так как я как-то не в состоянии запустить это. Я был бы очень признателен за пошаговое руководство о том, как настроить все это.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Если у вас уже есть сертификат SSL, можно безопасно использовать только порт 443 вместо порта 80.

1) Создайте балансировщик нагрузки приложений для Интернета, который прослушивает порт 443 и направляет трафик на ваш экземпляр EC2 через порт 3000.

2) Перенаправлять пользователей на HTTPS при доступе к вашему домену по HTTP https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#redirect-actions

2) Добавьте запись A, чтобы указать ваше доменное имя на публичный DNS Load Balancer.

0 голосов
/ 16 ноября 2018

Это проблемы веб-сервера, а не проблемы DNS. Вам потребуется настроить что-то вроде NGINX или Apache для прокси-порта 80 на порт 3000. Для получения информации см. Перенаправление Apache на другой порт .

Вы также можете принудительно установить HTTPS с правилом перезаписи в Apache: https://wiki.apache.org/httpd/RewriteHTTPToHTTPS

Другой вариант принудительного использования HTTPS - создать дистрибутив CloudFront и использовать его. https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html

...