Я пытаюсь разместить несколько серверов парусов на одном сервере, для этого я хочу поместить узел http-proxy, который перенаправляет каждый домен на нужный сервер следующим образом:
var http = require('http'),
httpProxy = require('http-proxy'),
proxy = httpProxy.createProxyServer({}),
url = require('url');
http.createServer(function(req, res)
{
var hostname = req.headers.host.split(":")[0];
var pathname = url.parse(req.url).pathname;
switch(hostname)
{
case 'example.com':
proxy.web(req, res, { target: 'http://localhost:8080' });
break;
case 'dev.example.com':
proxy.web(req, res, { target: 'http://localhost:8081' });
break;
default:
proxy.web(req, res, { target: 'http://localhost:80' });
}
}).listen(80, function() {
console.log('proxy listening on port 80');
});
Но при этом после вызова новой страницы у меня возникает эта ошибка и сбой прокси:
/var/www/default/node_modules/http-proxy/lib/http-proxy/index.js:119
throw err;
^
Error: socket hang up
at createHangUpError (_http_client.js:215:15)
at Socket.socketCloseListener (_http_client.js:247:23)
at Socket.emit (events.js:129:20)
at TCP.close (net.js:485:12)
Я полагаю, что пропустил какой-то код для пересылки сокетов, но как я могу это сделать? Достаточно ли силен этот тип прокси для производства?