如何在 nodejs 中使用查询字符串参数代理请求,我目前正在使用 express 和 http-proxy?
我有一个 nodejs 应用程序,使用 express 和 http-proxy 模块将 HTTP GET 请求从我端的某些路径代理到在同一服务器上运行但不同端口的第三方 API(因此遇到相同的来源问题,需要代理人)。这工作正常,直到我想使用查询字符串参数(即“?name = value”)在后端 API 上调用 REST 函数。然后我得到一个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});
});
Chrome 的控制台显示:
"GET http://localhost:8080/backend 404 (Not Found)"
注意:我稍后会在 express 中使用其他东西,但不会在代理行之前使用,并且在路由路径时我从更具体到更一般。可以使用相同的协议直接在浏览器中访问后端://url:port/path?name=value 没有问题。