В инструменте charles есть функция, позволяющая отображать удаленные запросы:
http://www.charlesproxy.com/documentation/tools/map-remote/
По сути, он может принимать любой запрос к серверу (даже если вы не тот, кто его запускает), а затем делает новый запрос к другому серверу, сохраняя путь и строку запроса. Затем ответ второго сервера перезаписывает ответ первого сервера.
Я просто хочу знать, есть ли модуль узла, который может это сделать. Я пытался использовать http-proxy, но мне кажется, что этот удаленный инструмент карты немного отличается от прокси-сервера, поскольку кажется, что вы должны владеть обоими серверами с прокси-сервером.
РЕДАКТИРОВАТЬ: снова попытался использовать модуль узла 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.