vue devServer proxy
1.是因为代理对象没有开启服务,不能访问到对象服务器
2.代理规则写错
3.请求超出代理timeout,代理失败
我出现的问题是:
时不时出现代理错误
线上环境正常
axios 请求的timeout 为 300000
我的proxyTimeout: 3000
某些接口速度慢的时候 所以请求失败
修改我的proxyTimeout属性
devServe -> proxy 的配置选项
http-proxy-middleware
http-proxy-middleware配置地址
常用配置:
target
pathRewrite
changeOrigin // 默认false 请求头host为浏览器发送的host 设置为true 发送请求头中host会设置成target·
事件
onProxyReq: (proxyReq, req, res, options) => {
}
'^/api': {
target: process.env.VUE_APP_BASE_API,
secure: false,
ws: false,
changeOrigin: true,
cookieDomainRewrite: '',
proxyTimeout: 300000,
pathRewrite: {
'^/api': ''
},
onProxyReq: function(proxyReq, req, res, options) {
if (req.body) {
// 数据类型 application/json application/x-www-form-urlencoded 在POST操作时会出错,这是代理中间件的bug。修正如下:
const reg = new RegExp('application/')
if (reg.test(proxyReq.getHeader('Content-Type'))) {
const bodyData = JSON.stringify(req.body)
proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData))
proxyReq.write(bodyData)
}
}
}
}
},