xhr Error: Refused to set unsafe header “Referer“ - 在 axios 中试图修改 Headers 的 Referer 时
浏览器拒绝人为设置伪装的Headers Referer。
·
背景:
有一个请求后端验证了 request.headers
的 Referer
:
在我启动本地服务后,调用该接口请求,就会验证不通过:
第一反应就是,人为手动修改该请求的 Headers Referer, 使之能通过验证:
axios.interceptors.request.use(config => {
if (config.url.includes('/api/v2/bpmn_server/workflow')) {
const headers = config.headers || {}
headers['Referer'] = 'http://localhost:8080/oa-workspace/flow-diagram-template'
config.headers = headers
}
return config
}, err => {
return Promise.reject(err)
})
但这时,控制台报错:
报错原因
浏览器拒绝人为设置伪装的 referer
。setRequestHeader 拒绝的 Header 字段
解决方案
在 vue.config.js
文件中配置代理设置:
module.exports = defineConfig({
devServer: {
port: 8080,
proxy: {
'/api/v2/bpmn_server/workflow': {
target: baseURL,
changeOrigin: true,
headers: {
Referer: 'http://localhost:8080/oa-workspace/flow-diagram-template'
}
}
}
}
})
更多推荐
已为社区贡献1条内容
所有评论(0)