1

У меня на 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), я получаю connection refused . (Я пробовал и curl и веб-браузер.)

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

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

Как я могу подключиться к этому сайту? Нужно ли открывать порт на Пи или что-то?

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

1 ответ1

3

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

Когда вы используете 0.0.0.0 (Wikipedia), это похоже на подстановочный знак, это означает, что каждый в вашей локальной сети может получить к нему доступ.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .