http-proxy-middleware的跨域设置能这样写不

Niau
  • 21

使用creact-react-app构建的项目,setupProxy.js的配置

const { createProxyMiddleware  } = require('http-proxy-middleware');

module.exports = function (app) {
    app.use(
        ['/api','/admin'],
        createProxyMiddleware({
            target: 'http://000.000.00.000/',
            changeOrigin: true,
            headers: {
                host: 'http://localhost:3000',
                origin: 'http://dev.test.com/'
            }
        }),
    )
}

这样写的话运行起来始终无法改变请求头,我想把默认的localhost:3000请求头变成dev.test.com

回复
阅读 996
1 个回答
✓ 已被采纳

1.你的host头内容不对,host就是主机[:端口号],没有协议。https://developer.mozilla.org...

2.proxy的作用就是中转你从浏览器发出来的请求。客户端-》proxy-》服务端。其中客户端和proxy肯定是同源的,proxy到服务端没有跨域限制。至于origin为什么没有按照你的设置变更,尚不明确你是从哪里确认的,从服务端请求日志吗?。

3.建议尽量不适用proxy,开发机搭建一套和生产环境差不多意思的Nginx配合,会快乐很多

宣传栏