Flask http代理中间件不使用';t代理匹配请求?

Flask http代理中间件不使用';t代理匹配请求?,flask,create-react-app,flask-socketio,http-proxy-middleware,Flask,Create React App,Flask Socketio,Http Proxy Middleware,我有一个create react应用程序前端,在开发过程中,我需要将其代理并将原点更改为我的Flask socket io后端,以绕过CORS。我已经建立了http代理中间件,这是我在过去的项目中成功完成的。My setupProxy.js: const { createProxyMiddleware } = require('http-proxy-middleware'); module.exports = function (app) { const wsProxy = create

我有一个create react应用程序前端,在开发过程中,我需要将其代理并将原点更改为我的Flask socket io后端,以绕过CORS。我已经建立了http代理中间件,这是我在过去的项目中成功完成的。My setupProxy.js:

const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
    const wsProxy = createProxyMiddleware('/socket.io', {
        target: 'ws://localhost:5000/',
        changeOrigin: true,
        ws: true,
    });
    app.use(wsProxy);
};
在套接字设置期间,我没有执行任何特殊操作:

const ENDPOINT = 'http://localhost:5000/';
const socket = socketIOClient(ENDPOINT);
当我运行dev服务器时,它不会代理我的套接字io请求。我的服务器报告:

O _internal(113) _log(): 127.0.0.1 - - [04/Jul/2020 22:23:54] "GET /socket.io/?EIO=3&transport=polling&t=NCRjjNJ HTTP/1.1" 400 -
O server(333) handle_request(): http://localhost:3000 is not an accepted origin.

关于我可能做得不正确有什么想法吗?

您是否在Flask SocketIO服务器中配置了跨源访问?添加
cors\u允许\uhttp://localhost:3000“
到您的
SocketIO()
对象,然后您应该会没事。

这就是我的临时解决方案,我以前让http代理中间件工作过,我很想解决这个问题,这样开发就容易一点。您需要检查头文件,看看错误在哪里。很明显,服务器正在接收端口3000,但是您的changeOrigin选项应该使源站位于端口5000上。