解决 Tomcat 7230 and 3986 错误异常

news/2024/11/29 22:28:25/

今天,我们来讲一下,tomcat 版本过高而引发的7230和3986 的错误 ,这个错误是我更换了浏览器之后所引发的异常错误信息,所以就在这里跟大家讲一下:

一、原因浏览器从谷歌更换成内部浏览器,
图示:
在这里插入图片描述

二、引发错误异常信息:Tomcat:The valid characters are defined in RFC 7230 and RFC 3986 (Tomcat: url 包含特殊字符报错问题)
图示:
在这里插入图片描述

三、原因解析:

 在Tomcat7相对较新的版本中,诸如:7.0.96。以及Tomcat8之后的版本,对URL字符中特殊字符的检查变得更加严格,在URL中如果出现这些特殊字符,Tomcat会直接返回 400 状态码,或者 出现RFC 7230 and RFC3986错误

四:所以
但是URL中,经常会用到 | 等一些特殊字符,经过Tomcat组内部讨论。Tomcat的开发人员增加一项设置,允许配置在URL可以出现的特殊字符,如下图所示:
在这里插入图片描述

五:特殊字符情况下,发送请求还会报错呢?
传入的参数中有"{"不在RFC3986中的保留字段中,所以还是会报上面那个错。

六:解决:
1.降低Tomcat版本至7.0.5x版本
2. 修改tomcat配置,修改server.xml文件,添加如下代码:
在connector 加入
relaxedPathChars="<>[]^{|}" relaxedQueryChars="&lt;&gt;[\]^{|}"
如下代码:

七:此时还有可能会报400错误 ,修改catalina.properties文件,如下:

找到这句话,#tomcat.util.http.parser.HttpParser.requestTargetAllow=|

打开注释
改为: tomcat.util.http.parser.HttpParser.requestTargetAllow=<>[]^`{|}
omcat:URL包含特殊字符报错问题,介绍到此为止,感谢你的浏览,希望对你有所帮助,如有疑问请留言。谢谢


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

相关文章

从7290转为7230

好久没有写博客了,一是不知道该写什么,二是没有时间,买房子、结婚、加班。劳累的生活&#xff01;转入正题&#xff0c;原来的blackberry送人了&#xff0c;五月份又入手了一台全新7230。 7230和7290从外观上非常接近&#xff0c;外观上最大的不同点就是&#xff1a;1、背光按…

The valid characters are defined in RFC 7230 and RFC 3986问题

最近在ssm实践项目中遇到了The valid characters are defined in RFC 7230 and RFC 3986这个问题&#xff0c;折腾了两天时间终于搞定了&#xff0c;记录一下心得。 1、首先贴出报错日志&#xff1a; 09-Apr-2019 14:55:11.427 信息 [http-nio-8089-exec-8] org.apache.coyote…

tomcat 请求出现RFC 7230 and RFC3986的错误,解决办法

问题描述 今天在测试接口的是否使用tomcat启动服务&#xff0c;然后通过get请求去测试接口&#xff0c;页面返回报的错误是400。 tomcat中错误如下图所示&#xff1a; 请求参数为 location[{"lng":108.871597,"lat":34.194412}] 很明显&#xff0c;在loca…

IE上的The valid characters are defined in RFC 7230 and RFC 3986坑

前言 日常开发中经常遇到一些莫名其妙的小问题&#xff0c;例如即将上线的项目在线上异常报错&#xff0c;但是在本地确可以正常运行。往往这猝不及防的小惊喜&#xff0c;真是让我们猿猿欲哭无泪啊。这里简单总结一下在IE浏览器上遇到的一个小坑&#xff0c;之前就因为这个小…

IE上的 The valid characters are defined in RFC 7230 and RFC 3986 坑的解决方法

前言 日常开发中经常遇到一些莫名其妙的小问题&#xff0c;例如即将上线的项目在线上异常报错&#xff0c;但是在本地确可以正常运行。往往这猝不及防的小惊喜&#xff0c;真是让我们猿猿欲哭无泪啊。这里简单总结一下在IE浏览器上遇到的一个小坑&#xff0c;之前就因为这个小…

The HTTP header line [http Method: POST] does not conform to RFC 7230 and has been ignored

今天遇到一个比较基础&#xff0c;又没遇到过的问题。 这是使用httpClient调用接口的时候报的错误&#xff0c;错误就是http的请求头不正确。但是调用接口的是共用方法&#xff0c;以前都是正常用的&#xff0c;怎么这次就不行了呢&#xff1f;换了一个请求方法就好了。 话不多…

BSS 7230 航空内饰材料阻燃性能测试

BSS 7230 航空内饰材料阻燃性能测试--标准名称 BSS 7230 Determination of flammability properties of aircraft materials BSS 7230 航空内饰材料阻燃性能测试 BSS 7230 航空内饰材料阻燃性能测试--适用范围 Scope&#xff1a; This standard describes the procedures …

Advanced-C.01.基础知识

C语言程序设计概述 一个简单句的C程序 #include <stdio.h> int main(){printf("This is a C program.\n");retrun 0; }C程序的执行过程 数据单位 bit&#xff1a;位&#xff0c;计算机中最小的数据单位Byte&#xff1a;字节&#xff0c;计算机中信息组织和存…