【发布时间】:2020-11-02 20:06:19
【问题描述】:
我正在我的 react 应用程序中实现 http 代理中间件。我想从本地代理 qa 或开发后端服务 url。
下面我的开发登录网址示例
https://cors-anywhere.herokuapp.com/https://dev.sju.uk/auth/login
我的 setupProxy.js
module.exports = function (app) {
app.use('/auth/login' ,createProxyMiddleware({
target: 'https://cors-anywhere.herokuapp.com/https://dev.sju.uk/auth/login',
changeOrigin: true,
})
);
};
我启动了我的应用程序并单击登录按钮,请求失败并出现 404 not found 错误。不知道为什么我的目标没有用我实际的http://localhost:9009/auth/login uri 替换为 https://cors-anywhere.herokuapp.com/https://dev.sju.uk/auth/login。
当我们也收到npm start 时,也没有收到proxy created message in my console。我使用的是 webpack 开发服务器而不是 react-scripts 。如果 webpack 方面需要任何更改,或者我是否遗漏了任何东西,请告诉我。我尝试了小型 poc,它成功了,但这很简单,没有 herokuapp 的东西。
【问题讨论】:
-
你用这个做代理? - cors-anywhere.herokuapp.com 在这种情况下,服务器不知道您的“本地主机”是什么,这就是失败的原因。您的选择是在本地启动此代理服务器(或使您的服务器公开可用),您可以这样做 - github.com/Rob--W/cors-anywhere
-
@NikitaChayka 不,我没有使用代理值作为``` cors-anywhere.herokuapp.com``,上面提到了package.json。
-
无论如何我可能在这里遗漏了一些东西,但我不太明白你希望一些外部服务器如何知道你的“本地主机”是什么
-
对不起,我不明白 :( 也许其他人可以帮助你解决这个问题
-
@NikitaChayka 我修改了我的问题,你可以检查一下。它可能会提供适当的需求
标签: reactjs http-proxy-middleware