Существует функция в инструмент под названием чарльз, что позволяет отображать удаленные запросы:Перенаправление запрос HTTP с удаленного сервера на локальный сервер с помощью nodejs
http://www.charlesproxy.com/documentation/tools/map-remote/
В принципе, он может принять любой запрос на сервер (даже если вы не тот, который его запускает), а затем делает новый запрос на другой сервер, сохраняя путь и строку запроса. Ответ со второго сервера затем перезаписывает ответ с первого сервера.
Я просто хочу знать, есть ли модуль узла, который может это сделать. Я пытался использовать http-proxy, но у меня такое чувство, что этот удаленный инструмент карты немного отличается от прокси-сервера, поскольку кажется, что вы должны владеть обоими серверами с прокси-сервером.
EDIT: Пробовал снова использовать модуль узла http-proxy, но не может заставить его работать. Вот мой код:
var http = require('http')
, httpProxy = require('http-proxy');
httpProxy.createServer({
hostnameOnly: true,
router: {
'www.stackoverflow.com': 'localhost:9000',
}
}).listen(80);
// Create your target server
//
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);
Я ожидаю, что когда я иду в www.stackoverflow.com или www.stackoverflow.com:80, он вместо того, чтобы перенаправить на мой локальный хост: 9000
Я исследовал немного больше, и не будет ли это больше, чем простой прокси, но вместо этого обратный прокси? – prashn64
@ prashn64 Нет, просто прокси-сервер. Правда в том, что термин «обратный прокси» практически не имеет смысла. Обычно этот термин используется, когда вы размещаете прокси-сервер рядом с серверами для балансировки нагрузки (между прочим). Однако это всего лишь прокси-сервер. Вы добавили дополнительную информацию к своему вопросу ... настроили ли вы запись файла hosts, указывающую «www.stackoverflow.com» на любой IP-адрес вашего сервера Node.js? – Brad
Если это возможно, я бы предпочел не менять конфигурацию для этого. Должна ли такая таблица маршрутизации обрабатывать? – prashn64