
Я пытаюсь запустить простой сервер Flask на виртуальной машине Ubuntu.
Я могу подключиться к нему по ssh с помощью [email protected]
, но если я выполню команду, curl 123.456.789:8000
то получу тайм-аут операции, даже если сервер слушает:
* Serving Flask app "app.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:8000/ (Press CTRL+C to quit)
Мой iptables -vnL
вывод выглядит так:
Chain INPUT (policy ACCEPT 11434 packets, 8571K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8000
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 7590 packets, 4856K bytes)
pkts bytes target prot opt in out source destination
так что порт 8000 должен подойти. lsof
Я также вижу это:
flask 16268 robin 3u IPv4 167958 0t0 TCP 127.0.0.1:8000 (LISTEN)
Я раньше этого не делал, так что это может быть глупой ошибкой, но можете ли вы вспомнить что-нибудь еще, что здесь может быть не так?
решение1
Приложение python/flask прослушивает 127.0.0.1, тем самым ограничивая доступ к localhost.
Настройте его на прослушивание определенного IP-адреса или 0.0.0.0, в зависимости от того, что вам нужно.