Я пытаюсь получить доступ к моему серверу Django с другого компьютера в той же сети. Я настроил свой сервер и все правильно просмотрел с помощью python manage.py runserver
и перешел на http://127.0.0.1:8000
, но когда я пытаюсь использовать python manage.py runserver 0.0.0.0:80
, я не могу просмотреть мою страницу Django с другого компьютера. Компьютер, на котором размещен сервер Django, имеет интрасеть IP 192.168.1.146. На моем вторичном компьютере я запускаю браузер и пытаюсь получить доступ к http://192.168.1.146:80
безрезультатно. Я также отправил порт 80 (и я тоже пробовал 8000) также безрезультатно:(. HELP!
Django 0.0.0.0:80; не может получить доступ удаленно
Ответ 1
У меня был тот же вопрос на компьютере под управлением Windows и запустил сервер Django с python manage.py runserver 192.168.1.146:80
вместо 0.0.0.0. (Конечно, я использовал другой IP-адрес).
После этого появилось диалоговое окно брандмауэра Windows и спрошено, должен ли я разблокировать порт (да). Другие компьютеры в локальной сети могут затем получить доступ к серверу Django, используя 192.168.1.146:80.
Ответ 2
Чтобы он работал у меня, я запустил sudo python manage.py runserver 0.0.0.0:80
в терминале (Mac OS X 10.8.2), а затем в вашем браузере ipad (или iphone) перейдите в http://[your ip address]/. Мне не нужно было это делать: Тестирование сайта Django на iphone
Ответ 3
Похоже, что это проблема брандмауэра. Вы открыли порт 80 на своем компьютерном компьютере?
Ответ 4
Когда вы запускаете его из Ubuntu, он сказал, что разрешение отклонено, когда я пытался это сделать:
python manage.py runserver 0.0.0.0:80
Поскольку это была проблема с разрешением, следующие работали очень хорошо, как сказал Райан, и сказал gtujan.
sudo python manage.py runserver 0.0.0.0:80
ПРИМЕЧАНИЕ., что вы используете сервер на порту 80, который является портом HTTP. Поэтому при вводе URL-адреса из вашего веб-браузера вам необязательно вводить ": 80" в вашем URL-адресе.
http://192.168.1.146:80/
Достаточно следующего. Даже если вы набираете ": 80", это считается одним и тем же.
http://192.168.1.146/
Однако для других номеров портов, таких как 8000 и т.д., требуется 8000, чтобы быть частью URL.
Ответ 5
Из вашего упоминания о пересылке порта 80, похоже, что ваш второй компьютер находится в другой сети (маршрутизаторе) от той, которая работает Django. В этом случае вы должны перейти на IP-адрес сетевого маршрутизатора Django - адрес 192.168 будет виден только сзади этого маршрутизатора, а переадресация порта гарантирует, что ваш запрос перейдет на нужный компьютер.
Ответ 6
какая ОС вы используете? попробовали ли вы предоставить привилегии root? (предполагая, что вы запускаете его на ubuntu/linux)
попробуйте выполнить это вместо:
sudo python manage.py runserver 0.0.0.0:80
Ответ 7
Насколько я понимаю, 0.0.0.0 является немаршрутизируемым IP.
Он будет работать только на локальной машине, если вы привяжете сокет к адресу.