vue项目dev环境携带token访问接口报431 header too large解决办法

1.启动的本地服务访问接口总是报 431 Request Header Fields Too Large 错误,看 network 请求,连发送都没发送给服务端就报错了,查了查发现 nodejs 升级之后header默认大小改为了 8KB,这原来想怎么传就怎么传突然就给了一个大小限制,就会出现这种情况,我的token根据账号权限生成,这个header大小是不受限制的,有可能就超过了8k,那就一直请求不通。那这个版本是从那个版本开始的呢,原来从10.14版本开始头大小被限制不能超过8192字节,是node本身依赖的http包多了个属性就是限制header头大小的,webpack服务本身dev-server就是node服务那也是同样受到限制的,毕竟最底层的依赖包变了所有用到的都受影响。
vue项目dev环境携带token访问接口报431 header too large解决办法_第1张图片
当我们遇见这种情况,如果node本身就需要安装高版本,但是我们的token有比较长,这种情况下不解决根本没办法和后台在本地环境调试接口,总不能来回换版本吧。然后和同时一起找了解决办法并在我的电脑上实践了一下,我的是mac本方法比较简单,只要运行自定义命令加上属性就好。
vue项目dev环境携带token访问接口报431 header too large解决办法_第2张图片
window环境比较复杂,因为window安装依赖和mac有所不同,双方差一个.cmd文件,所以解决方法也不一样,可能是因为环境问题。
找到node_modules/.bin/webpack-dev-server.cmd //看清楚中间的点,是点bin,打开node_modules第一个就是
vue项目dev环境携带token访问接口报431 header too large解决办法_第3张图片
看这个文件内容都是cmd运行命令,这个判断应该是判断是执行的项目本身创建时候的模版命令还是我们自己添加的自定义命令,不管我们是执行自定义命令还是模板命令都应该添加这个属性所以如下
vue项目dev环境携带token访问接口报431 header too large解决办法_第4张图片
这样你不管执行的所有dev命令都是要添加这个新的属性的,所有请求都是没有限制的。

"--max-http-header-size=1000000"

你可能感兴趣的:(vue)