原创

further occurrences of HTTP header parsing errors will be logged at DEBUG level

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML页面的访问请求。

Tomcat服务启动后,控制台报错,信息如下:

Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:192)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1028)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

问题一:

Tomcat配置中maxHttpHeaderSize默认没有配置,默认值是8*1024,修改Tcomcat目录下service.xml配置文件,内容如下:

<Connector  port="8080"  protocol="HTTP/1.1"  connectionTimeout="20000"  maxHttpHeaderSize ="10240" redirectPort="8443" />

问题二:

引起上述问题的原因可能是url中有中文参数,新版本Tomcat对url的格式规范要求提高,所以验证通不过,但是谷歌等一些浏览器会主动给中文转译,所以不存在这个问题,360和ie不会主动转译,

解决方法:规范url,转义中文字符;或者降低Tomcat版本。

问题三:本地Tomcat启动正常并且访问正常的项目放在服务器上Tomcat报以上错误。本地Tomcat低于服务器版本,服务器Tomcat版本过高。

解决办法:降低服务器上tomcat版本,访问正常。

~阅读全文~人机检测~

关注下方微信公众号“Java精选”(w_z90110),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

您可能感兴趣的文章

评论

分享:

支付宝

微信