로컬 호스트에서 연결이 거부되었습니다.

로컬 호스트에서 연결이 거부되었습니다.

CentOS 7에서 HTTP 및 직접 TCP/UDP(웹 서버, 데이터베이스 등)를 사용하여 localhost의 일부 서비스에 대한 연결을 열려고 시도하지만 8080 또는 80 메시지가 아닌 포트에서 계속 연결이 거부됩니다. (ps: 22번 포트로의 SSH는 정상적으로 작동합니다.)

지금까지 시도한 내용은 다음과 같습니다.

selinux 상태를 확인했습니다 ..:

[root@ ~]# sestatus
 SELinux status:                 disabled

그런 다음 방화벽을 확인했습니다.

[root@ ~]# systemctl status firewalld
● firewalld.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
[root@ ~]# systemctl status iptables
● iptables.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

그렇다면 selinux도 아니고 방화벽도 아니라면 무엇을 찾아야 할까요?

이것은 netcat이 출력하는 것입니다(8080 및 80에서는 잘 작동합니다). 참고: 이것은 연결되어 있기 ^C때문에 인터럽트 신호를 나타냅니다.nc

[root@ ~]# nc localhost 8080
^C
[root@ ~]# nc localhost 80
^C
[root@ ~]# nc -v localhost 5544
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connection to ::1 failed: Connection refused.
Ncat: Trying next address...
Ncat: Connection refused.
[root@ ~]# nc -v 127.0.0.1 25544
Ncat: Version 6.40 ( http://nmap.org/ncat )
Ncat: Connection refused.

ss -vtnlp | grep :5544나에게도 아무것도 제공하지 않습니다(그리고 상대방의 서비스는 계속 연결이 거부됩니다).

도와주셔서 감사합니다!

답변1

연결을 수신해야 하는 서비스가 그렇지 않은 것으로 나타났습니다! 서비스를 더 높은 포트로 옮긴 후에는 이제 잘 작동하지만 왜 이런 일이 발생하는지 모르겠습니다.. (다음은 잘렸습니다.)

[root ~]# ss -tnlp | grep :35544
LISTEN     0      50          :::35544 

아마도 이것은 다른 사람들에게 도움이 될 것입니다:

(제가 완전히 놓쳤던) 주요 지표는 ss -tnlp명령이 제가 수신할 것으로 예상하는 포트를 나열하지 않는다는 것입니다.

또한 실행 ss -tnlp | grep :port결과가 비어 있으면 실제로는 해당 포트에 대한 "열린 연결"이 없음을 의미하므로 연결 거부 오류 메시지가 나타납니다.

제 경우에는 프로세스가 logstash였으며 포트에서 수신할 수 없다는 오류가 발생하지 않았습니다.

관련 정보