Локальное размещение проекта Django на Apache2

Я закончил проект Django и хочу развернуть его на Apache2 локально по LAN. Я выяснил, как соединить Django с Apache2 с помощью mod_wsgi, и это сработало отлично, потому что я смог использовать Apace2 для фактического размещения Django на localhost. Теперь я хочу сделать этот проект доступным для всех в моей локальной сети. Например, если мой локальный IP-адрес 10.10.10.51, я могу зайти на другое устройство, подключенное к моей локальной сети, и ввести 10.10.10.51, чтобы попасть на домашнюю страницу сервера Apache2. Это успешно выполняется. Мой проект Django размещен на моем сервере Apache2 localhost по адресу djangoproject.localhost, и он прекрасно работает только на моем ПК. Когда я перехожу на другой ПК и захожу на djangoproject.localhost, сайт там не отображается. Да, они оба подключены к одной локальной сети. Я использовал этот учебник для размещения Django на Apache2: Хост Django на Apache2 с mod_wsgi

Я думаю, что вам нужно настроить что-то под названием "переадресация портов" в вашем домашнем модеме, это видео может помочь: https://www.youtube.com/watch?v=6gkoDQUQSLc

Полагаю, что вы работаете на windows... Если вы запустили свое приложение на pc1 и хотите вызвать его с pc2, вам нужно вызвать его либо

  1. через ip-адрес pc1

  2. via djangoproject.localhost

    но тогда вам нужно отредактировать файл hosts на pc2:

    C:\Windows\System32\drivers\etc\hosts

    и добавьте что-то вроде (x.x.x.x = ip-адрес pc1)

x.x.x.x  djangoproject.localhost 

Потому что на pc2 ваш brwoser не знает, что делать с djangoproject.localhost, так как в локальной сети в общем случае у вас не работает сервер имен локального домена.

Если ваш брандмауэр на pc1 блокирует доступ к apache, вам нужно зайти в "windows defender firewall" (введите "defender" в строке поиска) и добавить правило для приложения apache.

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