Javascript 节点http代理中间件不作为targetr与本地服务器一起工作
我有一个节点服务器,我正在使用http代理中间件代理api请求,类似于在中发生的情况。当我将代理服务器指向真正的生产服务器时,一切正常,但当我将代理服务器指向本地服务器时,一切都不正常 这是我的代码:Javascript 节点http代理中间件不作为targetr与本地服务器一起工作,javascript,node.js,proxy,http-proxy,node-http-proxy,Javascript,Node.js,Proxy,Http Proxy,Node Http Proxy,我有一个节点服务器,我正在使用http代理中间件代理api请求,类似于在中发生的情况。当我将代理服务器指向真正的生产服务器时,一切正常,但当我将代理服务器指向本地服务器时,一切都不正常 这是我的代码: app.use('/api',proxy({target:'http://localhost:9000,changeOrigin:true}) 服务器位于: http://localhost:9000/hello正在工作(我可以从浏览器访问它),但是,当我尝试从自己的服务器访问它时,如下所示: h
app.use('/api',proxy({target:'http://localhost:9000,changeOrigin:true})代码>
服务器位于:
http://localhost:9000/hello
正在工作(我可以从浏览器访问它),但是,当我尝试从自己的服务器访问它时,如下所示:
http://localhost:3000/_api/hello
我得到:
无法获取/_api/hello
如果我用real server替换localhost:9000,一切都正常…您的代理请求正在尝试使用原始请求路径访问本地服务器
当你要求的时候
http://localhost:3000/_api/hello
您的代理正在尝试访问
http://localhost:9000/_api/hello
\u api/hello
路径在您的localhost:9000
上不存在,这由无法获取/\u api/hello
错误显示
您需要重写代理请求路径以删除\u api
部分:
app.use('/_api', proxy({
target: 'http://localhost:9000',
changeOrigin: true,
pathRewrite: {
'^/_api' : '/'
}
}));
prependPath参数不能做到这一点吗?@duncanhall你能帮我吗,我试图将我的请求从本地代理到qa或prd,它甚至无法识别我给出的路径,()