localhost이고 방화벽이 켜져 있는데 내 IP 주소에 대한 연결이 거부되는 이유는 무엇입니까?

localhost이고 방화벽이 켜져 있는데 내 IP 주소에 대한 연결이 거부되는 이유는 무엇입니까?

Ubuntu 컴퓨터에서 실행 하면 sudo ufw status다음과 같은 결과가 나타납니다.

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
30303                      ALLOW       Anywhere
9000                       ALLOW       Anywhere
3000                       ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
8008/tcp                   ALLOW       Anywhere
8008                       ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
30303 (v6)                 ALLOW       Anywhere (v6)
9000 (v6)                  ALLOW       Anywhere (v6)
3000 (v6)                  ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
8008/tcp (v6)              ALLOW       Anywhere (v6)
8008 (v6)                  ALLOW       Anywhere (v6)

8008상자 내에서 포트에서 실행되는 서비스에 액세스하면 localhost작동합니다. 즉, 다음을 수행합니다.

curl --head http://localhost:8008/metrics

하지만 상자의 IP 주소를 대신 사용하면 작동하지 않습니다. 그건:

$ curl --head http://<public-ip>:8008/metrics
curl: (7) Failed to connect to <public-ip> port 8008: Connection refused

브라우저에서도 액세스를 시도하면 여전히 연결이 거부됩니다.

여기서 무슨 일이 일어날 수 있습니까? 출력에는 sudo ufw status포트가 열려 있고 액세스할 수 있지만 여전히 작동하지 않는 것으로 표시됩니다.

편집: 댓글에서 요청한 대로:

netstat -tln | grep 8008
tcp        0      0 127.0.0.1:8008          0.0.0.0:*               LISTEN
ss -tln | grep 8008
LISTEN  0        511            127.0.0.1:8008           0.0.0.0:*

답변1

답은 의 출력에 있습니다 netstat. 당신은 주소를 듣고 있습니다 127.0.0.1. 0.0.0.0(모든 로컬 인터페이스/주소)를 수신해야 할 수도 있습니다 .

결의안을 작성해주신 다른 댓글 작성자에게 감사드립니다.

관련 정보