Я застрял со странным поведением ubuntu 18 в цифровом океане, я просто создал дроплет и не использовал брандмауэр DO, но попытался включить порт 8000 на сервере, например:
sudo ufw allow 8000/tcp
Когда я проверяю мои правила порта, все в порядке, я имею в виду, что это действительно то, что мне нужно, есть даже больше (потому что я также добавил udp)
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
80/udp ALLOW Anywhere
443/udp ALLOW Anywhere
8000/tcp ALLOW Anywhere
8000/udp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
80/udp (v6) ALLOW Anywhere (v6)
443/udp (v6) ALLOW Anywhere (v6)
8000/tcp (v6) ALLOW Anywhere (v6)
8000/udp (v6) ALLOW Anywhere (v6)
Когда я запускаю flask служба использует порт 8000 на сервер, что-то вроде этого:
FLASK_APP=app.py flask run --host=127.0.0.1 --port=8000
Я могу получить ответ внутри сервера, например:
curl 127.0.0.1:8000
Но когда я пытаюсь сделать то же самое на сайте, я получаю отказанное соединение, например:
curl IPSERVER:8000
ответ:
curl: (7) Failed to connect to IPSERVER port 8000: Connection refused
Я также проверяю состояние порта с помощью этой службы: https://www.yougetsignal.com/tools/open-ports/
И он говорит, что порт 8000 закрыт, но я включил его, и на DO нет брандмауэра (у меня один но я удалил, чтобы проверить, и это все еще не работает)
Кто-нибудь знает, что может быть? У Ubuntu 18 есть другое место, чтобы включить его? Должен ли я перезапустить сервер, прежде чем вносить эти изменения?