2012-05-07 1 views
0

하나의 AWS 인스턴스에서 여러 노드 응용 프로그램을 호스팅하고 있습니다. 나는 가상 호스트와 함께 아파치를 사용했지만 Node만을 사용하고자한다. node-http-proxy는 작업을 수행하는 것처럼 보이지만 포워딩을 프록시 테이블과 함께 작동시키지 못합니다.노드 -http-proxy에 대해 전달 및 라우터 결합

여기에 프록시 테이블이 작동하도록되어 방법은 다음과 같습니다

var options = { 
router: { 
    'app1.website.com': 'localhost:7100', 
    'app2.website.com': 'localhost:15110' 
} 
}; 

var proxyServer = httpProxy.createServer(options).listen(80); 

내가 APP1을 가지고 인스턴스에서 실행중인 각각 7100 및 15110을 듣고 있지만, 단지 전달을 허용하지 않는 라우터 옵션을 사용하여 APP2.

내가 사용하여 전달하는 하나를 얻을 수 있습니다 :

var options = { 
forward: { 
    port: 15110, 
    host: 'localhost' 
} 
}; 

var proxyServer = httpProxy.createServer(15110, 'localhost', options); 

어떤 생각이 방법의 이점을 모두 활용할 수? 설명서에 따르면 옵션을 통해 'forward'와 'router'를 모두 전달할 수 있지만 명확하지는 않습니다.

+0

나는 AWS 인스턴스를 새로 만들어서 Alan Hoffmeister의 조언을 따랐습니다. 이제 모든 것이 잘됩니다! – randylubin

답변

0

localhost 대신 127.0.0.1을 사용해 보셨습니까? "포워드를 허용하지 않는다"는 것은 무엇을 의미합니까? 어떤 node-http-proxy는 내부적으로 요청을 전달하고 전달하지 않는 것입니다. :)

+0

127.0.0.1을 사용해 보았지만 차이는 없습니다. '라우터'옵션은 작동하지 않습니다. 포워딩을 말했을 때 클라이언트에 노출되지 않은 포트 7100과 15110에서 실행되는 다른 노드 서버에 리버스 프록시를 생성해야했습니다. – randylubin