Node.js가 HTTP 리버스 프록시 역할을 할 수있는 솔루션이 있습니까?

StackOverflow https://stackoverflow.com/questions/2214289

  •  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를 사용하여 정적 파일을 사용하여 정적 파일을 사용하는 것과 매우 유사한 정적 컨텐츠를 제공하는 데 많은 오버 헤드를 추가 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top