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

news/2024/11/29 20:31:08/

问题出现:

tomcat由7.0.65升级到7.0.104后出现该问题

java.lang.IllegalArgumentException:在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义
原因分析:

日志显示请求地址中包含不合法字符,出现400错误

tomcat高版本严格按照RFC 3986规范解析地址。该规范只允许包含 a-zA-Z 0-9 - _ . ~ 以及所有保留字符 ! * ’ ( ) ; : @ & = + $ , / ? # [ ]

7.0.65时地址中包含{},所以该地址在tomcat升级后出问题

解决办法:

一、在tomcat安装路径\conf\catalina.properties中,找到注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow=| ,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},表示把{}放行

二、 在./conf/service.xml中添加realxedQueryChars属性

 <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="30000"maxThreads="800"minSpareThreads="50"redirectPort="8443"URIEncoding="ISO-8859-1"relaxedQueryChars="[,],|,{,},^,&#x5c;,&#x60;,&quot;,&lt;,&gt;"/>

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

相关文章

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…

RFC 7230 and RFC 3986 各版本tomcat解决方法

项目从原先的jdk1.6tomcat6(6.0.26) 升级为jdk1.8tomcat9(9.022)。升级完后在tomcat日志中发现经常会出现RFC 7230 and RFC 3986 这个错误。于是在网上搜集资料&#xff0c;做个总结。 首先出现这个问题是原因高版本的tomcat会严格按照对RFC 3986规范进行访问解析。 RFC 3986规…