Я хотел проксировать вызов нового порта, поэтому я инкапсулирую всю логику создания сервера в функцию, например
var appRouter = express.Router();
app.use(appRouter);
appRouter.route('*')
.get(function (req, res) {
proxyRequest(req, res)
}
в функции запроса прокси я помещаю следующий код
function proxyRequest(req, res) {
httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer({});
var hostname = req.headers.host.split(":")[0];
proxy.web(req, res, {
target: 'http://' + hostname + ':' + 5000
});
http.createServer(function (req, res) {
console.log("App proxy new port is: " + 5000)
res.end("Request received on " + 5000);
}).listen(5000);
}
Проблема в том, что когда я делаю первый звонок, я вижу, что прокси работает нормально и слушает новый серверный порт 5000, когда я нажимаю браузер во второй раз, я получаю сообщение об ошибке
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Server._listen2 (net.js:1146:14)
Как мне этого избежать