2013-04-16 5 views
0

EC2에 2 개의 인스턴스가 설정되었습니다. 하나는 nginx를 실행하고 탄성 IP 주소와 연관되어 공개적으로 액세스 할 수 있습니다. 이러한 규칙과 보안 그룹에 속하는 AWS EC2의 프런트 엔드 애플리케이션 서버

다른

는 웹 서버를 가지고 있지 않지만 편안 서버는

두 포트 8080에서 실행했습니다 내가 이해한다면

Ports Protocol Source MongoDB-2-2-2-AutogenByAWSMP- 
22 tcp 0.0.0.0/0 
80 tcp 0.0.0.0/0 
8080 tcp 0.0.0.0/0 

바로 그 포트 8080이 열려 있어야합니다.

내가 다른 인스턴스 내 편안하고 서버에 대한 액세스 테스트하기 위해 노력하고있어 (nginx를 실행에) 내 웹 상자에 ssh를하는 경우 : 8080, 그래서 시도 :

curl http://10.151.87.76:8080/1/tlc/ping 
curl http://ip-10-151-87-76:8080/1/tlc/ping 
curl http://ip-10-151-87-76.ec2.internal:8080/1/tlc/ping 

이 모든 준 "호스트에 연결할 수 없습니다"오류가 발생했습니다. 내가 직접 편안하고 상자에 로그온하고 다음을 수행하는 경우

, 그것을 작동합니다.

내 서비스가 건강하고 건강하다는 것을 알고 있습니다.

내가 다른 인스턴스에서 8080 포트를 볼 수없는 이유는 어떤 아이디어가 평가된다.

답변

0

머리가없는 서비스가 공개적으로 사용 가능한지 확인하십시오. < < 이것이 이유입니다. REST API에 어떤 웹 서버를 사용하고 있습니까? 아파치 인 경우 config가 Listen 8080, Listen 1.2.3.4:8080이 아닌지 확인하십시오. 독립 실행 형 응용 프로그램 인 경우 모든 인터페이스에서 수신 대기해야합니다. 일부 클라이언트는 기본적으로 localhost에서 수신 대기합니다. - hudolejev 54 분 전

이를! 내 코드 안에 깊이 묻힌 깊은 (깊은) 서버는 "localhost"에 연결되어있었습니다. 호스트 이름을 키 오프 (key off)로 바꿨으며 모두 잘되었습니다! 행복.

1

인스턴스가 동일한 가용성 영역에 있는지 확인하십시오. 그렇지 않은 경우 공개 DNS 이름 (예 : ec2-XXX-XX-XXX-XXX.YYY.amazonaws.com)으로 인스턴스에 액세스해야 할 수 있습니다.

10.151.87.76이 올바른 IP인지 확인하십시오. 이것은 인스턴스가 중지되고 다시 시작된 후에 변경됩니다. 8080 만하지만 0.0.0.0:8080에서 수신해야합니다 : 그것은 localhost를 수신 할 수있다 -

는 헤드리스 서비스는 공개적으로 사용할 수 있는지 확인합니다. 다른 인스턴스에서 nmap 10.151.87.76 -p 8080을 시도하면 8080을 열린 포트로 나열해야합니다.

+0

확인 ... 확인. – Greg

+0

같은 가용성 영역 : 예 IP 확인 :이 의 nmap이 말했다 올바른지 : IP-10-151-87-76.ec2.internal (10.151.87.76) 호스트가 가동을위한 Nmap은 검사 보고서 (0.00053 대기 시간). PORT STATE 서비스 8080/TCP는 이 그래서는 보안 정책이 열려 있어야했다 말했다에도 웹 상자를 닫을 HTTP 프록시 을 마감했다. 이것을 극복하는 방법? – Greg

+1

> 헤드리스 서비스를 공개적으로 사용할 수 있는지 확인하십시오. << 그래서 이것이 이유입니다. REST API에 어떤 웹 서버를 사용하고 있습니까? 아파치 인 경우 config가'Listen 8080'을 말하고'Listen 1.2.3.4 : 8080'이 아니라는 것을 확인하십시오.독립 실행 형 응용 프로그램 인 경우 모든 인터페이스에서 수신 대기해야합니다. 일부 클라이언트는 기본적으로 localhost에서 수신 대기합니다. – hudolejev