首页 > 解决方案 > http-proxy-middleware React Python Flask 未按预期工作

问题描述

我正在使用 Reactfrontend和 Python Flask backend- 我是 React 的初学者。

我已经用setupProxy;设置了 React 反应服务器和烧瓶服务器都HTTPS使用 CA 签名证书进行设置

我的 http-proxy-middleware 配置如下

const proxy = require('http-proxy-middleware');

module.exports = function(app) {
    app.use( proxy( '/api/**', { target: 'https://example.com:5000/', logLevel: 'debug', changeOrigin: true } ));
}

当我从 react 调用 api /api/login 时,它应该转到https://example.com:5000/api/login 但是,这个调用被发送到 https://localhost:5000/api/login

此处提供的证书与 example.com 有关,我收到以下错误

[HPM] Error occurred while trying to proxy request /api/login from mydomain.com to https://localhost:5000 (ERR_TLS_CERT_ALTNAME_INVALID) (https://nodejs.org/api/errors.html#errors_common_system_errors)

React 和 Flask 服务器目前都在同一台服务器上

如何正确配置 http-proxy-middleware 以便到达 example.com:5000 而不是 localhost:5000?

2020-08-24 我已经完成了以下操作,但仍然无法正常工作

  1. 为同一台机器定义一个新的 dns 名称并将烧瓶重定向到新名称
  2. 更改了机器的主机名

中间件代理如何、在哪里以及为什么将 example.com 更改为 localhost 仍然是一个谜

标签: javascriptreactjsexpresshttp-proxy-middleware

解决方案


我已将此作为问题发布在 github 上,并得到以下回复。

我们需要设置环境变量;如果我们不设置,则默认设置 localhost

您可以在此处查看更多信息 https://github.com/chimurai/http-proxy-middleware/issues/464


推荐阅读