Задать вопрос
asyaevloeva
@asyaevloeva

Как захостить flask со своего сервера?

Я хочу сделать мое приложение на фласке доступным в интернете
from app import app
app.run(debug=True,host="0.0.0.0",  port="5111")


я разрешаю входящий трафик таким образом:
sudo iptables -I INPUT -p tcp --dport 5111 -j ACCEPT


На локалхосте и приватном ip все ок работает:
curl localhost:5111 работает
curl 172.31.x.xx:5111 работает
Но на публичном айпи
curl 18.135.xx.xxx:5111 не работает
curl: (28) Failed to connect to 18.135.xx.xxx port 5111 after 131195 ms: Connection timed out

и выдает такую ошибку
642fc97504e1e636099157.png

Что нужно сделать, чтобы заработало?
  • Вопрос задан
  • 722 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker
Программист, энтузиаст
Автор вопроса не предоставил необходимой информации для ответа на свой вопрос.
Из постановки вопроса не ясна структура сети. Скорее всего ваш компьютер находится за NAT и снаружи не виден под указанным вами IP-адресом. Погуглите как работает NAT и как пробросить порт за его пределы.
Насколько я понял, автор вопроса через какой-то ресурс вроде https://whatismyipaddress.com выяснил свой ip-адрес и думает, что это внешний интерфейс его компьютера.

Так не получится.

Некоторые провайдеры дают белый IP-адрес при подключении через PPP. Но здесь, похоже не тот случай, ведь увтор вопроса обмолвился о локальном IP-адресе типа 172.x.x.x.

Если подклчение происходит через роутер от провайдера и он предоставляет белый ip, то этот ip выделен вашему роутеру. Нужно читать что такое port forwarding, и с помощью него вам удастся захостить ваше веб-приложение.
В случае с NAT я бы порекоменовал арендовать минимальную vds и хостить приложение там, либо пробросить через него порт по ssh на ваш домашний комп.
Или гуглите читайте кучу статей как пробрасывать порты через нат, вот такую, например: https://habr.com/ru/post/279969/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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