Javascript 如何使用节点http代理抑制来自目标的301重定向?

Javascript 如何使用节点http代理抑制来自目标的301重定向?,javascript,node.js,redirect,proxy,node-http-proxy,Javascript,Node.js,Redirect,Proxy,Node Http Proxy,当代理的目标发出重定向(在本例中为301)时,代理将该重定向转发给客户端。然后客户端被重定向到实际域,不再使用代理。有没有办法防止此重定向影响客户端?我希望代理遵循重定向,但我不希望客户端在遵循此重定向时离开代理 示例案例: 假设我有一个代理在伪代理上运行。示例。将目标设置为服务器ip,然后将主机设置为该服务器上的域时,代理将尝试通过http进行连接。域设置为将http流量重定向到https,并使用https向同一域发出301重定向。此重定向被发送回客户端,客户端离开假代理。示例并转到实际域(为

当代理的目标发出重定向(在本例中为301)时,代理将该重定向转发给客户端。然后客户端被重定向到实际域,不再使用代理。有没有办法防止此重定向影响客户端?我希望代理遵循重定向,但我不希望客户端在遵循此重定向时离开代理

示例案例:

假设我有一个代理在
伪代理上运行。示例
。将目标设置为服务器ip,然后将主机设置为该服务器上的域时,代理将尝试通过
http
进行连接。域设置为将
http
流量重定向到
https
,并使用
https
向同一域发出301重定向。此重定向被发送回客户端,客户端离开
假代理。示例
并转到实际域(为了解决此问题,我们将其称为
真实域。示例
)。我的配置:

var选项={
目标:{
主持人:“1.1.1.1”
},
标题:{
主机:“真实域。示例”
},
自动重写:错误,
主持人:错,
协议重写:错误
};

我感谢你的帮助

虽然有点晚了,但下面这样的解决方案可以帮助那些无意中发现这篇文章的人:

var http = require('http');
var url = require('url');
var request = require('request');

var host = 'http://real-domain.example';

http.createServer(onRequest).listen(3080);

function onRequest(req, res) {
    var url_parts = url.parse(req.url);
    request({
        url: host + url_parts.pathname
    }).on('error', function(e) {
        res.end(e);
    }).pipe(res);
}

当然,cookies之类的东西不会被保留,我想你可能会失去一些功能,但至少它是稳定的,因为你不会被重定向出代理域。

这方面运气好吗?我也在努力。我希望它是稳定的。没有重定向到真正的域..你找到解决方案了吗?