在vite.config.js中配置了本地服务代理后,get请求正常200、
javascript
server: {
proxy: {
'/admin-api': {
target: 'https://manageserver.qingbeidigital.com',
changeOrigin: true,
rewrite: path => path.replace(/^\/admin-api/, '/admin-api'), // Vite推荐写法
}
可是问题来了,当我使用post请求时,报了403??????什么鬼, 查阅各种资料,什么鉴权options乱七八糟,最后是因为浏览器在跨域POST请求时会自动添加Origin
和Referer
等头部,可能被服务器拦截。需在Vite代理配置中移除这些头部:
javascript
export default defineConfig({
plugins: [vue()],
server: {
proxy: {
'/admin-api': {
target: 'https://manageserver.qingbeidigital.com',
changeOrigin: true,
rewrite: path => path.replace(/^\/admin-api/, '/admin-api'), // Vite推荐写法
configure: (proxy) => {
proxy.on('proxyReq', (proxyReq) => {
proxyReq.removeHeader('origin');
proxyReq.removeHeader('referer');
});
}
}
}
},
resolve: {
alias: { '@': path.resolve(__dirname, './src') }
}
})
主要是configure中移除Origin和referer这个玩意,完美解决!!!!!