求助tomcat9报错Invalid character found in the request target

无敌浪浪 2017-11-30 10:08:52
具体信息
信息: Error parsing HTTP request header
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:460)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)


找到tomcat9官网的配置,也没有找到具体是哪个
只知道在tomcat8上出现这类问题,catalina.properties上配置
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
就可以解决问题了。
但是在tomcat9上却没有解决,求大神帮忙看下,谢谢
...全文
3307 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
烙印ve 2020-10-10
  • 打赏
  • 举报
回复
引用 4 楼 yualfonso 的回复:
请求参数中包含中文了
那么怎么解决呢?
DylanGong 2020-08-16
  • 打赏
  • 举报
回复
根据6楼的解决方案,是解决了,可是我每次开机重新启动,又回到原来的配置了!
Dsut to Dust 2020-01-04
  • 打赏
  • 举报
回复
引用 6 楼 ryfx 的回复:
修改tomcat配置文件server.xml,在Connector配置项添加红色标记部分 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" relaxedQueryChars="[]|{}^\`"<>" redirectPort="8443" />
厉害厉害,头大,在你这解决了
无敌浪浪 2018-10-24
  • 打赏
  • 举报
回复
这么久时间过去了 这个项目已经结项了,项目在linux上用tomcat9没问题 在window本地运行,就是那个错,也不去纠结了。。。 问题也貌似在6楼解决了,谢谢了哈 这个帖子我就结帖了哈
zjp_yuren 2018-10-16
  • 打赏
  • 举报
回复
1.修改 catalina.properties 中#tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
2.引用6楼添加
测试结果:火狐浏览器可以实现url参数中出现中文。IE不行。
lianjun_yu 2018-10-15
  • 打赏
  • 举报
回复
引用 6 楼 ryfx 的回复:
修改tomcat配置文件server.xml,在Connector配置项添加红色标记部分
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
relaxedQueryChars="[]|{}^\`"<>"
redirectPort="8443" />

厉害呀兄dei
du_liany 2018-09-20
  • 打赏
  • 举报
回复
relaxedQueryChars="[]|{}^\`"<>"
这个好用
ryfx 2018-08-31
  • 打赏
  • 举报
回复
修改tomcat配置文件server.xml,在Connector配置项添加红色标记部分
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
relaxedQueryChars="[]|{}^\`"<>"
redirectPort="8443" />
qq_35871081 2018-06-06
  • 打赏
  • 举报
回复
前台代码使用js提供的encodeURI方法对url进行转义encodeURI(URI) 我找了半天,用这种方法解决的
yualfonso 2018-01-30
  • 打赏
  • 举报
回复
请求参数中包含中文了
无敌浪浪 2018-01-30
  • 打赏
  • 举报
回复
还是没有额。。
萌面小侠Plus 2017-12-05
  • 打赏
  • 举报
回复
请问解决了吗?
无敌浪浪 2017-11-30
  • 打赏
  • 举报
回复
tomcat8官网配置URL:http://tomcat.apache.org/tomcat-8.5-doc/config/systemprops.html tomcat9官网配置URL:https://tomcat.apache.org/tomcat-9.0-doc/config/systemprops.html

50,543

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧