HTTPS для Elastic Beanstalk (AWS), на котором запущено приложение Python Flask.Невозможно получить URL для разрешения - PullRequest
0 голосов
/ 25 сентября 2019

Я создал небольшой сайт на Python с использованием фреймворка Flask.Я загрузил его в AWS, используя Elastic Beanstalk, и попытался настроить среду, чтобы убедиться, что HTTPS включен.Я сделал это ранее с ASP.NET и IIS, но не Python / Apache.(Я ОЧЕНЬ новичок в этом «стеке»).Если я захожу на базовый URL-адрес эластичного бобового стебля, я могу зайти на сайт нормально (попробуйте сами)

http://flask -priceline.f8n9uir55a.ap-southeast-2.elasticbeanstalk.com

Однако, когда я пытаюсь посетить правильный DNS с HTTPS или HTTP, например,

http://plmonitoring.in -daws.api.net.au / или https://plmonitoring.in -daws.api.net.au /

Я получаю:

Этот сайт недоступен для сервера plmonitoring.in-daws.api.net.auIP-адрес не найденПопробуйте запустить диагностику сети Windows.DNS_PROBE_FINISHED_NXDOMAIN

Вот что я сделал.У меня есть действующий сертификат, уже созданный в AWS.Я также настроил соответствующие наборы записей / CNAMES на маршруте 53, чтобы мой псевдоним указывал на созданный мной балансировщик нагрузки.

Я создал свою среду Elastic Beanstalk с классическим балансировщиком нагрузки.Балансировщик нагрузки находится в общедоступной подсети, экземпляр EC2, на котором запущен веб-сервер, находится в частной подсети.(Этот VPC уже существует и настроен правильно).Я создал следующие прослушиватели на балансировщике нагрузки:

enter image description here

Я сделал это с помощью следующего файла конфигурации .ebextensions:

option_settings:
  aws:elb:listener:443:
    SSLCertificateId: arn:aws:acm:ap-southeast-2:xxxxxxxxxxxxx:certificate/xxxxxxxxxxxxxxxxxxxx
    ListenerProtocol: HTTPS
    InstancePort: 80

У меня также есть следующие настройки в моих группах безопасности (я пытался добавить HTTP 80 в качестве входящего в Load Balancer и исходящего в EC2 / входящего в EC2 также без изменений).Это входящая группа безопасности балансировщика нагрузки:

enter image description here

Выход балансировщика нагрузки:

enter image description here

EC2 In:

enter image description here

EC2 Out:

enter image description here

Я также добавил этот пример в папку .ebextensions в надежде, что он перенаправит HTTP на HTTPS в случае, если пользователь введет HTTP вместо HTTPS - https://github.com/awsdocs/elastic-beanstalk-samples/blob/master/configuration-files/aws-provided/security-configuration/https-redirect/python/https-redirect-python.config

1 Ответ

0 голосов
/ 26 сентября 2019

человеческая ошибка наихудшего вида.Установите запись, настроенную как IPV4, а не CNAME !.Задача решена.

...