2012-03-05 6 views
1

방금 ​​보안 그룹 빠른 시작과 http 포트를 사용하는 Windows 마이크로 인스턴스에 node.js 응용 프로그램을 설치했습니다.EC2- 응답하지 않는 HTTP 요청

인스턴스에서 방화벽을 열고 인바운드 및 아웃 바운드 포트 80, 443을 모두 열었습니다.

그럼에도 불구하고 내 http 요청이 node.js 앱에 의해 존중되고 있지 않습니다. 로그에서 앱이 redis에 연결되어 있고 mongo와 socket.io도 시작되었음을 알 수 있습니다.

무엇이 잘못 되었나요? http 요청이 차단 된 이유는 무엇입니까?

답변

0

마지막으로 문제가 발견되었습니다.

나는이 문제를 만들어

app.use(log4js.connectLogger(logger, { level: log4js.levels.ERROR })); 

로, log4js을 도입하고 명시 적으로이 통합. 어떻게 든 이것은 실패하고 있었다. DEBUG에서만 작동하는 것처럼 보입니다. 이 말을 듣고 작업이 시작되었습니다. 이상한 !!

0

예제 웹 서버 상단에 현재 앱을 만들었습니까? Node.js 홈 페이지에도 현재 표시되어 있습니까? 샘플은 현재 너무 다음과 같습니다

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, '127.0.0.1'); 
console.log('Server running at http://127.0.0.1:1337/'); 
당신의 Node.js를 서버가 올바른 포트/호스트 조합에서 수신 할 수 간단하지 않을 수 있습니다

어느 쪽이든 - 오히려 일반 HTTP 포트보다 포트 1337 (에 예 웹 서버가 듣는다 80) 및 로컬 호스트에서만 (예 : EC2 인스턴스에 할당 된 주소 인 개인/내부 IP 주소). 이러한 가정을 적용하면

, 당신은 그에 따라 listen() 문을 조정하여 목표를 달성 할 수있는 server.listen(port, [hostname], [callback])의 유연한 사용에 관한 변화의 몇 가지를 포함하여 확장 된 토론 관련 질문 Node.js Amazon EC2 example webserver - no result에 내 대답을 참조하십시오.

행운을 빈다.

+0

다른 문제는 보안 그룹에 문제가 있는지 또는 인스턴스에 문제가 있는지를보기 위해 일시적으로 모든 포트를 0.0.0.0/0으로 열려고 시도하는 것입니다. – bwight

+0

@Steffen, 내 앱은 포트 80에서만 수신하는 express를 기반으로합니다. 내 컴퓨터에서 로컬로 테스트하고 잘 작동합니다. 하지만 EC2 – user644745

+0

@bwight에서 작동하지 않는 이유를 모르겠다. 0.0.0.0/0에 대한 모든 TCP 포트도 열었습니다. 그래도 응답하지 않습니다. 나는 그것이 윈도우 2008 방화벽 설정과 관련이있을 것이라고 생각합니다. 처음에는 ping이 작동하지 않고 방화벽에서 일부 설정을 변경했을 때 ping이 작동하기 시작했습니다. HTTP의 문제점을 알고 있지 않습니까? – user644745