解决FineReport在Tomcat7.0.73及之后版本出现400错误

我是社区第87750位番薯,欢迎点我头像关注我哦~
具体异常信息为

  1. 六月 24, 2019 9:01:09 上午 org.apache.coyote.http11.AbstractHttp11Processor process
  2. 信息: Error parsing HTTP request header
  3. Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
  4. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
  5.         at org.apache.coyote.http11.InternalAprInputBuffer.parseRequestLine(InternalAprInputBuffer.java:240)
  6.         at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1050)
  7.         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
  8.         at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2575)
  9.         at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2564)
  10.         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  11.         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  12.         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  13.         at java.lang.Thread.run(Thread.java:748)
复制代码

通过搜索发现一个帮助文档说明了如何解决这个错误,但是有更简便的方法,方法如下:
1.在conf/catalina.properties中最后添加以下2行
  1. tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
  2. org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
复制代码


2.在conf/server.xml中的<Connector>节点中,添加以下2个属性
  1. relaxedPathChars="|{}[],"
  2. relaxedQueryChars="|{}[],"
复制代码
附原有帮助文档链接http://help.finereport.com/finereport9.0/doc-view-2053.html
编辑于 2019-6-24 09:51  
编辑于 2019-6-24 09:53  

发表于 2019-8-1 08:51:26
我先试试,非常感谢
发表于 2019-8-1 09:00:05
经过修改,是有效的,再次感谢!
发表于 2019-8-5 18:56:25
你们都高手哦
发表于 2022-2-15 15:00:32

感谢,已经解决。1

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

4回帖数 1关注人数 7216浏览人数
最后回复于:2022-2-15 15:02

返回顶部 返回列表