Подтвердить что ты не робот

Django 0.0.0.0:80; не может получить доступ удаленно

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

4b9b3361

Ответ 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

To find the IP address on a Mac

Ответ 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.

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