Джанго 0.0.0.0:80; не может получить доступ удаленно - PullRequest
19 голосов
/ 25 мая 2010

Я пытаюсь получить доступ к своему серверу 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!

Ответы [ 7 ]

34 голосов
/ 09 мая 2012

У меня был такой же вопрос на компьютере с Windows, и я запустил сервер Django с python manage.py runserver 192.168.1.146:80 вместо 0.0.0.0.(Я использовал другой IP-адрес, конечно).

После этого всплыло диалоговое окно брандмауэра Windows и спросило, должен ли я разблокировать порт (да).Другие компьютеры в локальной сети могут затем получить доступ к серверу Django, используя 192.168.1.146:80.

.
7 голосов
/ 11 марта 2013

Для того, чтобы это работало для меня, я запустил sudo python manage.py runserver 0.0.0.0:80 в терминале (Mac OS X 10.8.2), а затем в браузере ipad (или iphone) перейдите по адресу http://[your ip address] /. Я не должен был сделать это: Тестирование сайта Django на iphone

To find the IP address on a Mac

3 голосов
/ 25 ноября 2013

При запуске из Ubuntu, он сказал, что при попытке сделать это отказано в разрешении:

    python manage.py runserver 0.0.0.0:80

Так как это была проблема с разрешением, следующее работало очень хорошо, как сказали Райан и Гтуян.

    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.

2 голосов
/ 25 мая 2010

Похоже, это проблема с брандмауэром. Убедитесь, что вы открыли порт 80 на вашем сервере?

0 голосов
/ 30 июля 2010

Насколько я понимаю, 0.0.0.0 - это не маршрутизируемый IP.

Он будет работать только на локальной машине, если вы привязали сокет к адресу.

0 голосов
/ 25 мая 2010

на какой ОС вы это запускаете? Вы пытались дать команде привилегии root? (при условии, что вы работаете в Ubuntu / Linux)

попробуйте выполнить это вместо:

sudo python manage.py runserver 0.0.0.0:80
0 голосов
/ 25 мая 2010

Из вашего упоминания о переадресации порта 80 кажется, что ваш второй компьютер находится в сети (маршрутизаторе), отличном от того, на котором работает Django. В этом случае вам нужно перейти по IP-адресу маршрутизатора сети Django - адрес 192.168 виден только из-за этого маршрутизатора, и переадресация портов обеспечит передачу вашего запроса на нужный компьютер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...