Сервер разработки Django на Raspberry Pi отказывается от соединения

у меня есть простой веб-сервис, работающий на моем Raspberry Pi, используя сервер разработки Django (manage.py runserver). Я знаю, что это работает, потому что когда я бегу curl localhost:8000 на Pi, я получаю HTML-содержимое моего сайта. Когда я бегу netstat -tnl на pi, я получаю следующее:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN 

однако, когда я пытаюсь подключиться к веб-сайту с другого компьютера в той же локальной сети, что и Pi (используя http://<local IP of the pi>:8000), I get connection refused. (Я пробовал оба curl и веб броузер.)

я подключаюсь к Pi исключительно через SSH, и такие вещи, как curl http://www.google.com работа, поэтому я знаю, что Pi подключен к сети.

у меня самая последняя версия Raspbian на Pi. (Я просто переустановил его вчера, думая, что может решить эту проблему)

как я могу подключиться к этому сайту? Мне нужно открыть порт на Pi или что-то еще?

Я не заинтересован в подключении к этому веб-сервер вне моей локальной сети, поэтому я не думаю, что мне придется заниматься переадресацией портов.

5
задан ItsTimaiFool
источник

1 ответов

по умолчанию серверы разработки Django привязаны к 127.0.0.1, как вы можете видеть в Локальный Адрес поле. Это означает, что он принимает только соединения от вашего Pi.

при использовании 0.0.0.0 (Википедия), это как шаблон, это означает, что все в вашей локальной сети смогут получить к нему доступ.

таким образом, чтобы получить доступ к серверу с другой машины, вам нужно выполнить следующую команду: python manage.py runserver 0.0.0.0:8000.

2
отвечен 2016-10-22 17:37:05
источник

Другие вопросы django linux networking raspberry-pi raspbian