Request header is too large 的问题解决之url字符长度过长

 

1|0问题原因

一个新增的接口,因为前端传入一段很长的JSON数组,导致了打印台报错

错误描述

java.lang.IllegalArgumentException: Request header is too large

2|0解决方案

查阅了一下资料得到了一个答案

请求头超过了tomcat的限值。本来post请求是没有参数大小限制,但是服务器有自己的默认大小。

那就修改服务器的大小

如果部署服务器用到了negix,nginx一般也要修改一下

2|1普通tomcat

在server.xml中 

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="0" maxHttpHeaderSize ="102400"/> 处加上maxHttpHeaderSize =”102400

2|2SpringBoot

SpringBoot项目更方便了,在application.properties文件中添加

server.max-http-header-size=102400

2|3其他

SpringBoot内置Tomcat的所有配置选项如下:

server. Port = xxxx server. Address = server. contextPath = server. displayName = server. servletPath = server. contextParameters = server. useForwardHeaders = server. serverHeader = server. maxHttpHeaderSize = server. maxHttpPostSize = server. connectionTimeout = server. session.timeout = server. session.trackingModes = server. session.persistent = server.session.storeDir = server.cookie. name = server.cookie. domain = server.cookie. path = server.cookie. comment = server.cookie. httpOnly = server.cookie. secure = server.cookie. maxAge = server. ssl. Enabled = server.ssl. clientAuth = server.ssl. ciphers = server.ssl. enabledProtocols = server.ssl. keyAlias = server.ssl. keyPassword = server.ssl. keyStore = server.ssl. keyStorePassword = server.ssl. keyStoreType = server.ssl. keyStoreProvider = server.ssl. trustStore = server.ssl. trustStorePassword = server.ssl. trustStoreType = server.ssl. trustStoreProvider = server.ssl. protocol = server.compression. enabled = server.compression.mimeTypes = server.compression.excludedUserAgents = server.compression.minResponseSize = server. jspServlet. className = server.jspServlet. initParameters = server.jspServlet.registered = server.tomcat.accesslog.enabled = server.tomcat.accesslog.pattern = server.tomcat.accesslog.directory = server.tomcat.accesslog.prefix = server.tomcat.accesslog.suffix = server.tomcat.accesslog.rotate = server.tomcat.accesslog.renameOnRotate = server.tomcat.accesslog.requestAttributesEnabled= server.tomcat.accesslog.buffered = server.tomcat.internalProxies = server.tomcat.protocolHeader = server.tomcat.protocolHeaderHttpsValue = server.tomcat.portHeader = server.tomcat.remoteIpHeader= server.tomcat.basedir = server.tomcat.backgroundProcessorDelay = server.tomcat.maxThreads = server.tomcat.minSpareThreads = server.tomcat.maxHttpPostSize = server.tomcat.maxHttpHeaderSize = server.tomcat.redirectContextRoot = server.tomcat.uriEncoding = server.tomcat.maxConnections = server.tomcat.acceptCount = server.tomcat.additionalTldSkipPatterns =

转载

 


__EOF__

本文作者皮军旗
本文链接https://www.cnblogs.com/pijunqi/p/14699010.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   皮军旗  阅读(986)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示