vite.config.ts 配置proxy 请求代理到后端。但是请求头没了怎么解决?

fe4047b495c823325945a217bbece7d.png

如题。如图

    server: {
        proxy: {
            '/api': {
                target: 'http://127.0.0.1:8000/',
                changeOrigin: true,
            }
        }
    },
阅读 500
2 个回答
// ... existing code ...
server: {
  proxy: {
    '/api': {
      target: 'http://127.0.0.1:8000/',
      changeOrigin: true,
      configure: (proxy, options) => {
        // 保留原始请求头
        proxy.on('proxyReq', (proxyReq, req, res) => {
          // 确保 Authorization 头被传递
          if (req.headers.authorization) {
            proxyReq.setHeader('Authorization', req.headers.authorization);
          }
        });
      }
    }
  }
},
// ... existing code ...

或者:


// ... existing code ...
server: {
  proxy: {
    '/api': {
      target: 'http://127.0.0.1:8000/',
      changeOrigin: true,
      secure: false,
      rewrite: (path) => path.replace(/^\/api/, ''),
      configure: (proxy, options) => {
        proxy.on('proxyReq', (proxyReq, req, res) => {
          // 保留所有原始头信息
          Object.keys(req.headers).forEach(key => {
            proxyReq.setHeader(key, req.headers[key]);
          });
        });
      }
    }
  }
},
// ... existing code ...

你这个接口有 3xx 重定向吗?有的话需要开启跟随重定向:

...
  '/api': {
    target: 'http://127.0.0.1:8000/',
    changeOrigin: true,
    followRedirects: true
  }
...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题