ラズベリーパイのポート8000で実行されているPythonサーバーがあり、ローカルネットワークからアクセスできるようにしたいのですが、現在ネットワークが機能していません。
インターフェースwlan0は、IP 10.0.0.69とネットマスク255.255.255.0で構成されています。
私のローカルネットワーク内のサーバー(他のホストから)にアクセスできません。
root@DESKTOP-Lukas:~# curl http://10.0.0.69:8000
curl: (7) Failed to connect to 10.0.0.69 port 8000: Connection refused
また、Raspberry Piからサーバーにアクセスできません。
lukas@raspberrypi:~ $ curl http://10.0.0.69:8000
curl: (7) Failed to connect to 10.0.0.69 port 8000: Connection refused
サーバーが稼働しており、ポート 8000 でリッスンしています。
lukas@raspberrypi:~ $ sudo netstat -tnlp | ack 8000
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 743/python
localhostを使用すると、サーバーは正しく応答します。
lukas@raspberrypi:~ $ curl localhost:8000
<h1>Not Found</h1><p>The requested URL / was not found on this server.</p>
ファイアウォールはポート 8000 で操作を許可します。
lukas@raspberrypi:~ $ sudo ufw status
Status: active
To Action From
-- ------ ----
...
8000 ALLOW Anywhere
8000/tcp ALLOW Anywhere
8000 (v6) ALLOW Anywhere (v6)
8000/tcp (v6) ALLOW Anywhere (v6)
答え1
出力netstat
に問題が表示されます。
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 743/python
特に、127.0.0.1:8000
Webサーバーがループバックアドレスにのみバインドされていることを指定してください127.0.0.1
。これを実際のネットワークインターフェイスにバインドするか、または単純にすべてのアドレス(通常は指定)0.0.0.0
にバインドする必要があります。これにより、他のすべてのホストがPiへのパスを介してアクセスできます。