gpt4 book ai didi

javascript - Node http-proxy-middleware 不能将本地服务器作为目标

转载 作者:搜寻专家 更新时间:2023-10-31 23:30:34 25 4
gpt4 key购买 nike

我有一个 Node 服务器,我正在使用 http-proxy-middleware 代理我的 api 请求,类似于 this post 中发生的情况.当我代理到真实的生产服务器时,一切正常,但当我将代理指向本地服务器时,它就不起作用了。

这是我的代码:

app.use('/_api', proxy({target: 'http://localhost:9000', changeOrigin: true}));

服务器在:

http://localhost:9000/hello 正在工作(我可以从我的浏览器访问它),但是,当我尝试从我自己的服务器访问它时,像这样:

http://localhost:3000/_api/hello

我得到:

Cannot GET /_api/hello

如果我用真实服务器替换 localhost:9000,一切正常...

最佳答案

您的代理请求正在尝试使用原始请求路径访问本地服务器。

例如,当你请求时

http://localhost:3000/_api/hello

您的代理正在尝试访问

http://localhost:9000/_api/hello

_api/hello 路径在您的 localhost:9000 上不存在,这由 Cannot GET/_api/hello 错误显示.

您需要重写代理请求路径以删除 _api 部分:

app.use('/_api', proxy({
target: 'http://localhost:9000',
changeOrigin: true,
pathRewrite: {
'^/_api' : '/'
}
}));

关于javascript - Node http-proxy-middleware 不能将本地服务器作为目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36745592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com