gpt4 book ai didi

node.js - 使用nodejs将来自远程服务器的http请求重定向到本地服务器

转载 作者:搜寻专家 更新时间:2023-10-31 22:39:21 25 4
gpt4 key购买 nike

在一个叫做 charles 的工具中有一个功能可以让你映射远程请求:

http://www.charlesproxy.com/documentation/tools/map-remote/

基本上,它可以将任何请求发送到服务器(即使您不是运行它的服务器),然后向另一台服务器发出新请求,同时保留路径和查询字符串。然后来自第二台服务器的响应会覆盖来自第一台服务器的响应。

我只是想知道是否有一个 Node 模块可以做到这一点。我尝试使用 http-proxy,但我感觉这个 map 远程工具与代理有点不同,因为看起来你必须拥有两个服务器和代理。

编辑:再次尝试使用 http-proxy Node 模块,但似乎无法正常工作。这是我的代码:

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 时,它会重定向到我的 localhost:9000

最佳答案

不,你要的确实是一个简单的代理。不,您不必“拥有”两台服务器即可运行代理。您只需代理请求,然后您就可以随心所欲地修改数据。

您提到的代理模块可以正常工作,还有很多其他模块。如果您愿意,您也可以使用简单的 Nginx 配置来完成此操作。

关于node.js - 使用nodejs将来自远程服务器的http请求重定向到本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21359946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com