当前位置: 首页 > news >正文

tomcat Note: further occurrences of HTTP header parsing errors will be logged at DEBUG

Tomcat出现这个异常:

20-May-2020 09:53:35.732 INFO [http-nio-8080-exec-7] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
	java.lang.IllegalArgumentException: Invalid character found in the HTTP protocol
		at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:570)
		at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:502)
		at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
		at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
		at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
		at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
		at java.lang.Thread.run(Thread.java:748)

出现这个,顾名思义就是 解析header的时候,出错。
 

其实出现这种情况归根结底原因还是因为接口的问题,不过在不改动代码的情况下,

可以尝试,tomcat的server.xml中配置(添加maxHttpHeaderSize):

    <Connector port="8080" protocol="HTTP/1.1"
			   maxHttpHeaderSize="8192" 
                           connectionTimeout="20000"
			   maxThreads="150"
			   maxSpareThreads="75"
               redirectPort="8443" />

如果加了还是一直出现错误,那么就得看对应的接口了,特别是Get方式的接口,着重看传输的参数是不是包含了

一些特殊符号没有进行URL转移,例如涉及:{ } 这种特殊符号。

这种情形,可以尝试在 tomcat的catalina.properties的最后一行改为:

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

 

如果你改了这个还是照样出错,  那么我建议从咱们的接口入手,虽然其实报这个错误,并不影响接口的使用。

但是如果想避免,可以尝试把这类Get方式的接口,改成Post方式,这样就可以有效避免这些过长的参数以及特殊符号参数,

通过post放入到body里面去传递。

 

 

 

最后,如果你按照上面的方法都进行了排查都没得到解决,这时候再看一眼服务器的tomcat的版本,和你打包时用的tomcat的版本,保持版本一直再试试。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • Springboot 使用自定义注解结合AOP方式校验接口参数
  • Java 看一眼equals吧,都用这么久了
  • MySql 报错 表被锁 处理
  • Springboot Filter 多过滤器的使用
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • JAVA jdk1.8 HashMap 存值流程图解
  • Java String 为什么不可变? 真的吗?
  • JAVA 将日期字符串 月份不足10月进行补0操作
  • Springboot Quartz定时任务的动态调度使用,实战详解
  • Springboot 跟着我了解下 事务 @Transactional 默认方式 Propagation.REQUIRED
  • Springboot 全局日期格式化,只需要几行小代码
  • springboot 上传文件设置文件大小限制
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • Springboot 自定义注解+AOP简单实例介绍
  • Java 将Map的toString格式字符串转为 Map
  • Android Studio:GIT提交项目到远程仓库
  • Asm.js的简单介绍
  • CSS 提示工具(Tooltip)
  • ES2017异步函数现已正式可用
  • ES6之路之模块详解
  • JavaScript服务器推送技术之 WebSocket
  • JavaScript设计模式系列一:工厂模式
  • JavaWeb(学习笔记二)
  • JSDuck 与 AngularJS 融合技巧
  • Material Design
  • Quartz初级教程
  • Vue小说阅读器(仿追书神器)
  • Web设计流程优化:网页效果图设计新思路
  • 编写高质量JavaScript代码之并发
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 给初学者:JavaScript 中数组操作注意点
  • 少走弯路,给Java 1~5 年程序员的建议
  • 深度学习中的信息论知识详解
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 一文看透浏览器架构
  • 怎样选择前端框架
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • Spring Batch JSON 支持
  • 说说我为什么看好Spring Cloud Alibaba
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​用户画像从0到100的构建思路
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #{} 和 ${}区别
  • $.ajax()
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (ibm)Java 语言的 XPath API
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二)hibernate配置管理
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (一)appium-desktop定位元素原理
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法