it-swarm-ja.com

Django RaspberryPiの開発サーバーが接続を拒否します

Django開発サーバー(manage.py runserver)を使用して、Raspberry Piで簡単なWebサービスを実行しています。Piでcurl localhost:8000を実行すると、機能していることがわかります。 、WebサイトのHTMLコンテンツを取得します。piでnetstat -tnlを実行すると、次のようになります。

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を使用して)Webサイトに接続しようとすると、connection refusedが表示されます。 (私はcurlとWebブラウザの両方を試しました。)

私はSSH経由でのみPiに接続し、curl http://www.google.comのようなものが機能するので、Piがネットワークに接続されていることがわかります。

Piに最新バージョンのRaspbianがあります。 (昨日、この問題が解決する可能性があると考えて再インストールしました)

このウェブサイトに接続するにはどうすればよいですか? Piなどでポートを開く必要がありますか?

ローカルネットワークの外部でこのWebサーバーに接続することに興味がないので、ポート転送を処理する必要はないと思います。

1
ItsTimmy

デフォルトでは、ローカルアドレスフィールドに表示されているように、Django開発サーバーは127.0.0.1にバインドされています。これは、 Piからの接続のみを受け入れることを意味します。

0.0.0.0Wikipedia )を使用すると、ワイルドカードのようなものになります。つまり、ローカルネットワーク上のすべてのユーザーがアクセスします。

したがって、別のマシンからサーバーにアクセスするには、次のコマンドを実行する必要があります。python manage.py runserver 0.0.0.0:8000

3
user615603