解决tomcat RFC 7230 and RFC 3986异常

news/2024/11/29 20:41:36/

异常原因:url参数里面有特殊字符

Message Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).Exception
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:483)org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:684)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:745)Note The full stack trace of the root cause is available in the server logs.

解决方法如下:

catalina.properties上新加一行配置:tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
就可以解决问题了

如果上面方方法没有解决问题,再到tomcat配置文件server.xml,在Connector配置项添加红色标记部分
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
redirectPort="8443" />

 

 


http://www.ppmy.cn/news/416302.html

相关文章

tomcat 请求出现RFC 7230 and RFC3986的错误

问题出现&#xff1a; tomcat由7.0.65升级到7.0.104后出现该问题 java.lang.IllegalArgumentException&#xff1a;在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义 原因分析&#xff1a; 日志显示请求地址中包含不合法字符&#xff0c;出现400错误 tomcat高…

The valid characters are defined in RFC 7230 and RFC 3986 各版本tomcat解决办法

首先出现这个问题是原因高版本的tomcat会严格按照对RFC 3986规范进行访问解析。 RFC 3986规范定义了Url中只允许包含英文字母&#xff08;a-zA-Z&#xff09;、数字&#xff08;0-9&#xff09;、-_.~4种特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符&#xff…

The valid characters are defined in RFC 7230 and RFC 3986-Tomcat解决方案

问题: 发生场景: Tomcat 从 7.0.57 升级到 8.5.65 之后, 应用程序访问出现。请求URL地址中包含了JSON格式的参数。原因及解析: 请求地址包含了无效字符, 有效字符的定义是在 RFC 7230 和RFC 3986中定义的。 RFC 3986 规定, URL 只允许包含字母,数字以及四个特殊字符(-…

解决 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义 的问题

前言 本人博客园&#xff1a;https://www.cnblogs.com/lzj523/ 本文博客园原文章&#xff1a;https://www.cnblogs.com/lzj523/p/14283076.html 今天因解决漏洞而更新了Tomcat&#xff0c;运行网站就报错 类型 异常报告 消息 在请求目标中找到无效字符。有效字符在RFC 7230…

解决 tomcat: the valid characters are defined in RFC 7230 and RFC 3986

文件下载功能&#xff0c;本地跑是正常的&#xff0c;部署到服务器后下载报错 大概意思为&#xff1a;在请求目标中找到无效字符&#xff0c;有效字符在RFC 7230和RFC 3986中定义。 就是说http请求的url中有非法字符&#xff0c;我请求的url中有&#xff1f;&#xff0c;\&…

spring boot 解决Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986 的问题

tomcat 8.0以后对请求URL做了严格的过滤 就是严格按照 RFC 3986规范进行访问解析&#xff0c;而 RFC 3986规范定义了Url中只允许包含英文字母&#xff08;a-zA-Z&#xff09;、数字&#xff08;0-9&#xff09;、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保…

The valid characters are defined in RFC 7230 and RFC 3986

今天发现一个问题&#xff0c;项目在我本地以及正式环境单机访问都是没有问题的&#xff0c;但是通过nginx统一访问&#xff0c;就会报如下错误&#xff1a;org.apache.tomcat.util.http.parser.HttpParser.<clinit> Character ["] is not allowed and will continu…

接口报错:The valid characters are defined in RFC 7230 and RFC 3986

1.起始&#xff1a;线上突然收到用户反馈&#xff0c;一个文件上传合并接口报错&#xff0c;其他文件无异常&#xff0c;该文件经多次重试仍无法成功 2.排查&#xff1a;查看前端nginx日志无异常&#xff0c;查看后台日志发现该用户使用该接口有报错情况 3.具体报错&#xff1a…