The HTTP header line [connection : Keep-alive] does not conform to RFC 7230 and has been ignored

news/2024/11/29 22:50:23/

在测试一个程序的时候,出现了“The HTTP header line [connection : Keep-alive] does not conform to RFC 7230 and has been ignored”这个错误;经搜索关键字 RFC 7230发现是tomcat高版本中,严格按照规范解析。

百度了一下解决方案, 都是千篇一律,或许最初的作者是解决了问题的,但是对于我这一版本(spring-boot-starter-tomcat:2.3.3.Release,即tomcat版本为9.0.37)无效,常见搜索的springBoot2.x的解决方案如下:

@Bean
public ConfigurableServletWebServerFactory webServerFactory() {TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "|{}[]"));return factory;
}原文链接如下:
https://www.freesion.com/article/2397892175/

最终解决方案如下:

package net.dlet.dhdemo.configure;import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @Description: 配置转义字符,解决当请求路径中特殊字符,解决高版本Tomcat对接口参数限制字符,解析失败从而出现RFC7230、RFC3986问题* @PackageName: net.dlet.dhdemo.configure* @Name: RF7230* @Author: cure* @CreateDate: 2020/09/06 00:30* @ModifyUser:* @ModifyDate:* @ModifyDesc: 修改内容* @DayNameFull: 星期日* @ProjectName: dhdemo* @Version: 1.0**/
@Configuration
public class RFC7230 {/*** 解决Tomcat RFC7230问题* @return*/@Beanpublic ConfigurableServletWebServerFactory webServerFactory() {TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {connector.setProperty("relaxedQueryChars", "|{}[](),/:;<=>?@[\\]{}\\");connector.setProperty("relaxedPathChars", "|{}[](),/:;<=>?@[\\]{}\\");connector.setProperty("rejectIllegalHeader", "false");});return factory;}
}

 


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

相关文章

解决 Tomcat 7230 and 3986 错误异常

今天&#xff0c;我们来讲一下&#xff0c;tomcat 版本过高而引发的7230和3986 的错误 &#xff0c;这个错误是我更换了浏览器之后所引发的异常错误信息&#xff0c;所以就在这里跟大家讲一下&#xff1a; 一、原因浏览器从谷歌更换成内部浏览器&#xff0c; 图示&#xff1a;…

从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 …