Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
07 Июл 2023
2 мин
1400

Настройка dev сервера Flask для доступа из сети

Возможность видеть веб-приложение, развернутое на dev сервере, с других машин в сети может быть полезной во многих ситуациях. Особенно это актуально

Возможность видеть веб-приложение, развернутое на dev сервере, с других машин в сети может быть полезной во многих ситуациях. Особенно это актуально при тестировании и отладке в реальной сетевой среде. Однако, стандартная настройка Flask при использовании flask run или app.run() позволяет обращаться к серверу только с той же машины, на которой он запущен. Другими словами, Flask-приложение по умолчанию запускается только на localhost.

Пример проблемы

В качестве примера можно привести ситуацию, когда есть необходимость протестировать веб-приложение на мобильном устройстве, которое находится в той же сети. Попытка обратиться к Flask-серверу по адресу http://[dev-host-ip]:5000 с мобильного устройства не увенчается успехом. Вместо ожидаемого ответа от сервера, получаем ошибку, что сервер не доступен.

Решение проблемы

Чтобы сделать Flask-приложение доступным из сети, необходимо в параметрах запуска указать хост 0.0.0.0. Это означает, что сервер будет слушать все доступные сетевые интерфейсы. Вот пример, как это можно сделать:

if __name__ == '__main__':
    app.run(host='0.0.0.0')

Теперь, если на машине, где запущен сервер, будет доступ к сети, то к веб-приложению сможет обратиться любое устройство из этой сети по адресу http://[dev-host-ip]:5000.

Важное замечание

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

Добавить комментарий