라즈베리 파이의 포트 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
웹 서버가 루프백 주소에만 바인딩된다는 점을 명시하세요 127.0.0.1
. 이를 실제 네트워크 인터페이스에 바인딩하거나 더 간단하게 모든 주소(일반적으로 를 지정하여 0.0.0.0
)에 바인딩해야 하며, 그러면 다른 모든 호스트가 Pi에 대한 경로를 통해 액세스할 수 있습니다.