Как разрешить удаленные подключения к Flask?

Внутри системы, работающей на виртуальной машине, я могу получить доступ к работающему серверу на 127.0.0.1:5000.

Хотя «удаленный» адрес виртуальной машины равен 192.168.56.101 (ping и ssh работают нормально), я не могу получить доступ к серверу с 192.168.50.101:5000 ни с виртуальной машины, ни с локальной.

Полагаю, что-то мешает удаленным соединениям.

Вот / etc / network / interfaces:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0

ufw неактивен.

Как мне решить эту проблему?

30
задан 2 December 2012 в 02:34

3 ответа

В первую очередь - удостоверяются, что Ваш сервер HTTP слушает на 192.168.50.101:5000 или везде (0.0.0.0:5000) путем проверки вывода:

netstat -tupln | grep ':5000'

Если это не, консультируйтесь с документацией Фляги для привязки с адресом кроме localhost.

Если это, позвольте трафик с помощью iptables:

iptables -I INPUT -p tcp --dport 5000 -j ACCEPT

Из документации Фляги:

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

Если Вы имеете отключенную отладку или доверяете пользователям в Вашей сети, можно сделать сервер общедоступным просто путем изменения вызова run() метод для сходства с этим:

app.run(host='0.0.0.0')
48
ответ дан 2 December 2012 в 02:34

Лучший способ сделать это

flask run --host=0.0.0.0
0
ответ дан 2 December 2012 в 02:34

У меня только что была такая же проблема. Чтобы решить эту проблему, я обновил способ запуска приложения:

 app.run(debug=True,host='0.0.0.0')

Используя host = 0.0.0.0, позвольте мне получить доступ к моему приложению через мою локальную сеть.

0
ответ дан 2 December 2012 в 02:34

Другие вопросы по тегам:

Похожие вопросы: