Можно ли вывести сервер Django dev, работающий на локальной машине, в открытый интернет?

Я новичок в Django и в попытке узнать немного о работе сервера (брандмауэр, разрешения, ...) и развертывании на производстве, я установил Ubuntu Server на старый ноутбук и подключил его к моему (беспроводному) маршрутизатору. Я смог настроить переадресацию портов на маршрутизаторе и обслужить статическую html-страницу с помощью nginx. Я также купил доменное имя и смог изменить его DNS A запись, чтобы она указывала на мой публичный IP адрес. Это позволило мне зайти на mydomain.com и увидеть мою статическую html-страницу.

Я пытался сделать нечто подобное с сервером Django dev, но я мог получить к нему доступ только в локальной сети. Я установил ALLOWED_HOSTS = ['*'] и запустил сервер на 0.0.0.0:8000 (после разрешения входящего трафика на порт 8000 с помощью ufw на Ubuntu), и смог получить доступ к нему с другого компьютера в моей локальной сети, перейдя на локальный адрес 192.168.1.x. Однако, когда я перешел на mydomain.com, страница завершилась по таймеру.

Возможно ли в принципе добиться этого? Я знаю, что это не очень хорошая идея запускать сайт таким образом, но я хочу сделать это только для обучения и разрешу доступ только определенным IP.

Я нашел здесь два других вопроса на похожую тему, но ответы на них были противоречивыми. Одни говорили, что это можно сделать только в локальной сети. Другие говорили, что можно публично открыть сервер разработчиков. Другие предлагали использовать что-то вроде ngrok, но я не стал пробовать, потому что, насколько я понял, для доступа к серверу домен доступа должен быть поддоменом ngrok, а я пытаюсь научиться делать это с собственным доменом. Я также просмотрел пару уроков на YouTube, но в каждом случае они использовали размещенные VPS и могли получить доступ к своим dev-серверам, просто зайдя на их IP.

Как это сделать с моим собственным публичным IP/доменом, и возможно ли это в принципе?

Спасибо.

Вернуться на верх