Мне нужно создать приложение, которое получает запрос на определенный порт и проксирует его на новый сервер на другом порту.
например, следующий порт 3000 будет прокси-сервером для порта 9000, и вы фактически запустите приложение на 9000 (под капотом), так как пользователь в клиенте нажимает на 3000
Я пытаюсь что-то вроде
var proxy = httpProxy.createProxyServer({});
http.createServer(function (req, res) {
var hostname = req.headers.host.split(":")[0];
var pathname = url.parse(req.url).pathname;
proxy.web(req, res, {
target: 'http://' + hostname + ':' + 9000
});
var proxyServer = http.createServer(function (req, res) {
res.end("Request received on " + 9000);
});
proxyServer.listen(9000);
}).listen(3000, function () {
});
- Это правильный способ сделать это?
- Как я могу проверить это? Я спрашиваю, поскольку, если я запускаю приложение узла на порту 3000, я не могу указать первый URL-адрес в клиенте http://localhost:3000/a/b/c, так как этот порт уже занят. Есть ли обходной путь?