本地vite proxy代理get正常post请求失败

457 阅读1分钟

问题复现本地使用proxy代理get正常,post报跨域报错

get能正常访问

Snipaste_2024-10-24_15-47-55.png

post走了代理但是不能访问到后端接口,而且报跨域问题

Snipaste_2024-10-24_15-50-10.png

解决问题方法直接代理移除cookie和请求头

vite.config.ts

proxy: {
  '/casting': {
    target: 'http://xxxx:8018/',
    // ws: true,
    /** 是否允许跨域 */
    changeOrigin: true,
    configure: (proxy, options) => { 
      proxy.on('proxyReq', function (proxyReq, req, res) { 
        proxyReq.removeHeader('referer') //移除请求头---最主要是设置这个 
        proxyReq.removeHeader('origin') //移除请求头---最主要是设置这个
      }); 
      proxy.on('proxyRes', function (proxyRes, req, res) {
        /*添加或删除响应头有两种写法,第一种是操作 proxyRes 参数*/
        delete proxyRes.headers['set-cookie'] 
      });
    },
    rewrite: (path) => path.replace(/^\/casting/, '')
  },
},

设置完重启项目就可以正常访问