포트 80이 열려 있지 않습니다. 컬할 때 여전히 404를 얻습니다.

포트 80이 열려 있지 않습니다. 컬할 때 여전히 404를 얻습니다.

현재 직면하고 있는 이상한 문제입니다! 80번 포트에서는 아무것도 실행되지 않습니다.

여전히 컬은 404 페이지를 찾을 수 없습니다. 포트 80에 텔넷으로 연결하고 포트 80(호스트)을 노출하는 컨테이너를 시작할 수도 있습니다. 그러나 요청이 컨테이너에 도달하지 않습니다!

무슨 일이 일어나고 있는지 아시나요? 이것을 어떻게 디버깅합니까?

$ netstat -tulpn | grep :80
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::8000                 :::*                    LISTEN      -                   
$ curl localhost
404 page not found

답변1

내부 NAT 리디렉션을 의심하는 Matthew의 의견 외에도

  • iptables -vnL -t nat또는nft list ruleset ip

아마도 포트 80을 직접 검사할 수 있을 것입니다. 이를 수행하는 몇 가지 방법은 다음과 같습니다.

  • ss -4tlnp -o state LISTENING '( sport = :80 )'
  • lsof -i:80
  • 자세한 tcpdump를 수행하세요
  • nmap을 사용하여 자세한 포트스캔을 수행합니다.
  • 또는 컬로 테스트할 때 더욱 명시적으로 작성하세요. 즉,curl -v http://localhost:80

관련 정보