| 
devServer changeOrigin属性是修改后端服务器吸取到的 headers 里的 Host 属性
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册  vue.config.js
 后端 headers复制代码const { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({  transpileDependencies: true,  devServer: {    proxy: {      '/api': {        target: 'http://localhost:3000',        changeOrigin: false      }    }  }})
改为 hangeOrigin: true 后 headers复制代码{  'x-forwarded-host': '192.168.0.111:8080',  'x-forwarded-proto': 'http',  'x-forwarded-port': '8080',  'x-forwarded-for': '192.168.0.111',  referer: 'http://192.168.0.111:8080/',  connection: 'close',  origin: 'http://192.168.0.111:8080',  'content-length': '27',  'content-type': 'application/json',  'accept-encoding': 'gzip, deflate',  'accept-language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',  accept: 'application/json, text/plain, */*',  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0',  host: '192.168.0.111:8080'}
可以看到 host 由 host: '192.168.0.111:8080' 变为后端服务器地点 host: 'localhost:3000'复制代码{  'x-forwarded-host': '192.168.0.111:8080',  'x-forwarded-proto': 'http',  'x-forwarded-port': '8080',  'x-forwarded-for': '192.168.0.111',  referer: 'http://192.168.0.111:8080/',  connection: 'close',  origin: 'http://192.168.0.111:8080',  'content-length': '27',  'content-type': 'application/json',  'accept-encoding': 'gzip, deflate',  'accept-language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',  accept: 'application/json, text/plain, */*',  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0',  host: 'localhost:3000'}
通过上面的探究,根本可以得出以下结论:
 
 
 changeOrigin 设置项用来修改 host header,而非 origin header
Host header 用来处理处罚假造主机的标题,和跨域无关
一样平常情况下,设置署理时可以忽略这个设置项,保持默认即可
特别情况下,很大概后端服务就用 host 做校验了,此时根据实际情况去设置
 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
 |