Javascript Node.js作为转发代理但更改URL路径?
如何让node.js充当代理并将从一台服务器发送的所有请求转发到另一台服务器,但从url路径中剥离/couchdb/,以便例如POST/couchdb/mydatabase将成为POST/mydatabase。当它收到响应时,应该将其发送到第一台服务器 我所做的就是(使用express)获取URL路径以/couchdb开头的所有请求/Javascript Node.js作为转发代理但更改URL路径?,javascript,http,node.js,Javascript,Http,Node.js,如何让node.js充当代理并将从一台服务器发送的所有请求转发到另一台服务器,但从url路径中剥离/couchdb/,以便例如POST/couchdb/mydatabase将成为POST/mydatabase。当它收到响应时,应该将其发送到第一台服务器 我所做的就是(使用express)获取URL路径以/couchdb开头的所有请求/ app.all(/^\/couchdb\/(?:.)*/, function(req, res) { }); 有人能带我过去吗。谢谢看一看。您可以这样使用它:
app.all(/^\/couchdb\/(?:.)*/, function(req, res) {
});
有人能带我过去吗。谢谢看一看。您可以这样使用它:
var http = require('http'),
httpProxy = require('http-proxy');
httpProxy.createServer(function (req, res, proxy) {
// Put your custom server logic here (eg rewrite url/header,...)
proxy.proxyRequest(req, res, {host: 'localhost', port: 9000});
}).listen(8000);
我猜http代理的api自发布以来已经发生了变化。为了让它工作,我必须使用:proxy.proxyRequest(req,res,{host:'localhost',port:9000});这不再有效,因为现在必须在选项中传递某种类型的目标或前进字段。运行上述代码时,我必须为目标提供有效的url