Недавно познакомился с модулем по имени http-proxy. На мой взгляд образцовый инструмент - отбивает заявленный функционал на все 100% и в то же время простой как сатиновые трусы. Статистика модуля на GitHub, npm, а также мэйнтэйнер (не нашел подходящее слово в русском языке) в лице nodejitsu говорят сами за себя. Хочу предложить очень простой пример для того чтобы понять о чем речь:
Запускаем приложение:
Открываем браузер, идем по адресу http://localhost:5050 и обновляем страницу несколько раз.
Easy peasy :).
var http = require('http'), httpProxy = require('http-proxy'), frontPort = 5050, i = 3, j = i; (function go(i) { if (i) return (function() { var port = frontPort + i; http.createServer(function(req, res) { var s = 'I am Groot, port: ' + port; res.end(s); }).listen(port, function() { console.log('Back server listen on port', port); go(--i); }); })(); var proxy = httpProxy.createProxyServer({}); http.createServer(function(req, res) { // здесь логика proxy.web(req, res, { target: 'http://127.0.0.1:505' + (Math.floor(Math.random() * j) + 1) }); }).listen(frontPort, function() { console.log('Front server listen on port', frontPort); }); })(i);
Запускаем приложение:
Открываем браузер, идем по адресу http://localhost:5050 и обновляем страницу несколько раз.
Easy peasy :).
Комментариев нет:
Отправить комментарий
Комментарий будет опубликован после модерации