在localhost:8000上运行appA - >服务器是python(Django)并且总是崩溃 我有一个在localhost:8080上运行的expressJs服务器 我是appA的expressJs服务器的静态文件,效果很好。
问题:我想在expressJs 中创建反向代理,以便我可以将任何传入的api请求转发到快速服务器。 基本上,应用程序应该使用新的expressJs服务器(就像以前用于Django / python服务器一样)
这就是我所拥有的。但它不起作用。当尝试命中localhost:8000形式localhost:8080(例如localhost:8080 / api / my-profile)中的端点时,出现错误。
forward.js:
var request = require('request')
module.exports = function(pattern, host){
return function(req, res, next){
if(req.url.match(pattern)){
var db_path = req.url.match(pattern)[1]
, db_url = [host, db_path].join('/');
req.pipe(request[req.method.toLowerCase()](db_url)).pipe(res);
}else{
next();
}
}
}
app.js:
var forward = require('./path/to/forward.js');
// instantiate `app` et al
app.use(forward(/\/api\/(.*)/, TARGET_URL));
app.listen(8080);
正则表达式捕获以/ api /开头的任何请求,并捕获该前缀之后的任何内容,以便我们可以正确转发它。