Есть ли решение, которое позволяет Node.js действовать как HTTP-обратный прокси?

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

  •  19-09-2019
  •  | 
  •  

Вопрос

У нашей компании есть проект, который прямо сейчас использует nginx в качестве обратного прокси-сервера для обслуживания статического контента и поддержки соединений comet.Мы используем соединения с длительным опросом, чтобы избавиться от постоянных запросов на обновление и позволить пользователям получать обновления немедленно.

Теперь я знаю, что для Node.js уже написано много кода, но есть ли решение, которое позволяет Node.js действовать как обратный прокси для обслуживания статического контента, как это делает nginx?Или, может быть, есть фреймворк, который позволяет быстро разработать такой слой, используя Node.js?

Это было полезно?

Решение

узел-http-прокси звучит так, как ты хочешь

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 для обслуживания статического контента - очень похоже на использование PHP для обслуживания статических файлов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top