博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat 8.5 400错误:Invalid character found in the request target. 问题解决方法
阅读量:2395 次
发布时间:2019-05-10

本文共 1745 字,大约阅读时间需要 5 分钟。

最近部署项目的时候,由于MIS配置的是Tomcat 8.5的服务端,导致Web应用不正常,报HTTP 400错误(Chrome无异常、IE报错)。问题原因初步判断为8.5版本的服务端接收请求不会对符号进行转义,Chrome不异常的原因或许是浏览器自身转义了。具体错误信息如下:

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.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:472)        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:683)        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)        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:745)

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

查阅了大量资料后,有两种解决方案:

Plan 1:
更换低版本的Tomcat来规避这种问题。

Plan 2:

在conf/catalina.properties中最后添加一行:

org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

重启服务器后,解决问题。

官方指南地址:

官方说明:

org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH

If this is true ‘%2F’ and ‘%5C’ will be permitted as path.delimiters.If not specified, the default value of false will be used.

转载地址:http://quzob.baihongyu.com/

你可能感兴趣的文章
zcash挖矿指南
查看>>
区块链术语解释
查看>>
./configure,make,make install的作用
查看>>
学术论文录用结果通知(Notification)
查看>>
Theorem等数学化的论述
查看>>
PKI和X509证书
查看>>
使用HttpClient爬取国内疫情数据
查看>>
引用传递和值传递有什么区别
查看>>
C++从入门到放肆!
查看>>
C++是什么?怎么学?学完了能得到什么?
查看>>
初学C语言没有项目练手怎么行,这17个小项目收下不谢
查看>>
学好C语言,你只需要这几句口诀!
查看>>
选择大于努力!0基础学好C语言编程,首先要掌握的是什么?
查看>>
C语言和其他语言的不得不说的差别!
查看>>
夫妻俩在互联网公司工作,年收入曝光,网友:这么高!
查看>>
程序员5年工作经验,因频繁跳槽被面试官压工资!
查看>>
职场中神奇的程序员,却常常被人说“太直”,这是什么样的思维?
查看>>
@初学编程的朋友们,如果你能学得这些方法,学习将会更快一步!
查看>>
C/C++编程笔记:C/C++ 的编译和链接
查看>>
C/C++编程知识分享:C++四种强制转换,教你多种类型转换方式!
查看>>