请求标头太大

请求标头太大

我在 Tomcat 8.5 stderr 日志中收到此条目:

2018 年 1 月 16 日 02:38:04.089 INFO [http-nio-8080-exec-2] org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求标头时出错注意:进一步出现的 HTTP 标头解析错误将在 DEBUG 级别记录。 java.lang.IllegalArgumentException:请求标头太大,位于 org.apache.coyote.http11.Http11InputBuffer.parseHeaders(Http11InputBuffer.java:571),位于 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:683),位于 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66),位于 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798),位于 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1441),位于 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49),位于 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source),位于java.util.concurrent.ThreadPoolExecutor$Worker.run(来源不明)位于 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)位于 java.lang.Thread.run(来源不明)

当请求主体的大小约为 8kb 时,就会发生这种情况。

如何获取有关此错误的更多详细信息?有没有办法查看标题?

答案1

请求中没有正文,所有内容都在标头中

经过大量的网络搜索,我了解到 Tomcat 的默认最大标头大小为 8192 字节。我在 server.xml 中的 Connector 定义中添加了“maxHttpHeaderSize=”9216“。问题解决了。

相关内容