Почему я не могу запустить приложение Flask, когда порт 5000 открыт для входящего трафика на EC2 - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь развернуть приложение Flask на EC2.Вместо того, чтобы использовать Beanstalk, я хочу развернуть его вручную.Конечная цель - настроить wsgi с помощью nginx.Прежде чем сделать это, я просто хочу развернуть его так, как я это делал на локальном компьютере разработчика, то есть запустить virtualenv, установить все зависимости и запустить python3 application.py.По умолчанию он работает на порту 5000. Он работает локально на "localhost: 5000 / api".(api - это URL проекта).Однако, когда я делаю то же самое на экземпляре EC2 (ubuntu), это не работает.Я поместил URL "ec2-public-ip: 5000 / api" в браузере, он говорит: "Эта страница не работает. [Ip] не отправил никаких данных".

application.py isточка входа приложения:

from myapp.api.factory import create_app

app = create_app(True)

def main():
    app.run(debug=True, threaded=True)

if __name__ == "__main__":
    main()

Я настроил группу безопасности для этого экземпляра, которая разрешает входящий трафик из любого места (0.0.0.0/0) для порта 80, 22, 5000

enter image description here

Почему не работает при доступе с 5000?

1 Ответ

0 голосов
/ 16 мая 2018

Добавить

app.run(host= '0.0.0.0')

Согласно документации

http://flask.pocoo.org/docs/1.0/quickstart/#a-minimal-application

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

Если у вас отключен отладчик или вы доверяете пользователям вашей сети, вы можете сделать сервер общедоступным, просто добавив --host = 0.0.0.0 в командную строку:

flask run --host = 0.0.0.0 Это говорит вашей операционной системе о необходимости прослушивания все публичные IP-адреса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...