如何使用nodejs中的查询字符串参数代理请求,我目前正在使用express和http-proxy?
我有一个使用express和http-proxy模块的nodejs应用程序将HTTP GET请求从我的端点上的某些路径代理到在同一服务器上运行的第三方API但是有一个不同的端口(因此遇到了相同的原始问题,需要代理).这工作正常,直到我想在后端API上使用查询字符串参数调用REST函数,即"?name = value".然后我得到一个404.
var express = require('express');
var app = express();
var proxy = require('http-proxy');
var apiProxy = proxy.createProxyServer();
app.use("/backend", function(req,res){
apiProxy.web(req,res, {target: 'http://'+ myip + ':' + backendPort + '/RestApi?' + name + '=' + value});
});
Run Code Online (Sandbox Code Playgroud)
Chrome的控制台显示:
"GET http://localhost:8080/backend 404 (Not Found)"
Run Code Online (Sandbox Code Playgroud)
注意:我稍后在快递中使用其他东西,但不是在代理行之前使用,而是在路由路径时从更具体到更通用.可以使用相同的协议在浏览器中直接访问后端:// url:port/path?name = value没有问题.