"연결이 거부되었습니다"라는 메시지가 나타나는 이유는 무엇입니까?

"연결이 거부되었습니다"라는 메시지가 나타나는 이유는 무엇입니까?

우분투 EC2 인스턴스에서 hello-world http 서버를 실행하고 있습니다 myurl.com. 내 고객이 이를 수행 할 수 없습니다 curl.

$ curl myurl.com:4296                     
curl: (7) Failed to connect to myurl.com port 4296: Connection refused

다른 포트에 연결하려고 하면 연결 시간이 초과됩니다.

$ curl myurl.com:4244                   
curl: (7) Failed to connect to myurl.com port 4244: Operation timed out

AWS에는 다음과 같은 인바운드 규칙이 있습니다.

여기에 이미지 설명을 입력하세요

서버에서 컬링할 수 있습니다.

$ curl localhost:4296
Hello World

내 순상태:

$ netstat -a | grep 4296
tcp        0      0 localhost:4296          0.0.0.0:*               LISTEN   

내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변1

포트 4296의 프로세스는 다음 포트에서만 수신 대기합니다.로컬호스트 / 127.0.0.1주소이므로 외부에서는 접근이 불가능합니다. 청취하려면 구성(또는 직접 작성한 프로그램인 경우 프로그램 자체)을 변경해야 합니다.0.0.0.0- 그러면 계속 듣게 될 거야모두구애.

내 시스템의 예는 다음과 같습니다.

~ # netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address   State       PID/Program name    
tcp        0      0 0.0.0.0:22       0.0.0.0:*         LISTEN      1311/sshd           
tcp        0      0 127.0.0.1:631    0.0.0.0:*         LISTEN      1183/cupsd          

여기에서 SSH는 모든 주소의 포트 22를 수신하므로 외부에서 액세스할 수 있습니다(물론 방화벽과 SG가 허용하는 경우).

반면 CUPS는 로컬 호스트(127.0.0.1)의 포트 631에서만 수신 대기하며 방화벽/SG가 이 포트를 허용하더라도 외부에서는 액세스할 수 없습니다.

도움이 되었기를 바랍니다 :)

답변2

public up으로 접속이 가능한지 확인해보세요. 가능하다면 Route53이 올바르게 구성되었는지 확인해야 합니다. 공용 IP로도 할 수 없는 경우 방화벽 규칙을 추가하여 트래픽을 허용하십시오. https://linuxdiaryblog.blogspot.com/2020/06/add-firewall-Exception-to-port.html?m=1

관련 정보