我如何让node.js充当代理并将从一个服务器发送的所有请求转发到另一个服务器,但从url路径中剥离/ couchdb /,以便例如POST / couchdb / mydatabase将是POST / mydatabase。当它收到响应时,它应该将它发送到第一台服务器。
我所做的就是这个(使用express)来获取URL路径以/ couchdb /
开头的所有请求app.all(/^\/couchdb\/(?:.)*/, function(req, res) {
});
有人可以指导我。感谢
答案 0 :(得分:12)
看看node-http-proxy。你可以像这样使用它:
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);