这个错误码感觉挺神奇的,很少有听过这个错误。记录下几个排查的步骤。
简单介绍下这个错误的说明:
Request Header Fields Too Large (请求头字段太大)
某些情况下,客户端发送 HTTP 请求头会变得很大,那么服务器可发送 431 Request Header Fields Too Large 来指明该问题。
正文
先来说一下我解决的方案:
域名问题:
修改前端vue.config.js
proxy: {
target : `http://127.0.0.1:8080`
}
域名后面需要增加端口号,端口号根据服务来自己改。
因为大部分项目是通过nginx代理了,所以线上的服务器是不需要。本地根据自己的需要修改。
如果这个没有问题,下面是其他方法:
方案一
在SpringBoot项目中找到yml文件
server:
port: 8090
tomcat:
max-swallow-size: -1
max-http-header-size: 2MB
在后面追加max-http-header-size
,注意是在server下面,不是tomcat。
方案二
排查Nginx配置文件:nginx.conf
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
client_header_buffer_size 10240k;
large_client_header_buffers 6 10240k;
}
检查最后两行代码,看是否存在,加上就可以。
方案三
前端vue.config.js注意代理问题
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
检查反斜杠
方案四
清空浏览器的cookie缓存重新加载。
以上就是这个问题的解决方法。如果有补充的希望大家评论告知。
补充一点,这个错误后端会报:
druid的错误,大家可以修改版本号为:1.2.1 来尝试解决。
以上就是http errorcode 431的错误,如果有不对的地方或者更好的建议还希望各位大佬指教。感谢观看大家观看。