Node.js가 HTTP 리버스 프록시 역할을 할 수있는 솔루션이 있습니까?
-
19-09-2019 - |
문제
우리 회사는 현재 Nginx를 정적 콘텐츠를 제공하고 혜성 연결을 지원하기위한 역 프록시로 사용하는 프로젝트를 보유하고 있습니다. 우리는 긴 폴링 연결을 사용하여 지속적인 새로 고침 요청을 제거하고 사용자가 즉시 업데이트를받을 수 있도록합니다.
이제 Node.js에 이미 작성된 코드가 많이 있다는 것을 알고 있지만 Node.js가 Nginx와 같이 정적 컨텐츠를 제공하기위한 역 프록시 역할을 할 수있는 솔루션이 있습니까? 아니면 node.js를 사용하여 이러한 레이어를 신속하게 개발할 수있는 프레임 워크가 있습니까?
해결책
Node-HTTP-Proxy 당신이 원하는 것 같네요
var sys = require('sys'),
http = require('http'),
httpProxy = require('http-proxy').httpProxy;
http.createServer(function (req, res){
var proxy = new httpProxy;
proxy.init(req, res);
proxy.proxyRequest('localhost', '9000', req, res);
}).listen(8000);
http.createServer(function (req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('request successfully proxied!' + '\n' + JSON.stringify(req.headers, true, 2));
res.end();
}).listen(9000);</code></pre>
다른 팁
개 프록시 완전한 솔루션이 아니라면 하나의 빌딩 블록으로 도와 줄 수 있습니다.
그러나 정적 컨텐츠를 제공하기 위해 Nginx를 유지하는 것을 재고 할 수 있습니다.이 특정 작업을 위해 특별히 설계 및 조정되었습니다. Node.js를 사용하여 정적 파일을 사용하여 정적 파일을 사용하는 것과 매우 유사한 정적 컨텐츠를 제공하는 데 많은 오버 헤드를 추가 할 것입니다.
제휴하지 않습니다 StackOverflow