java线上运行异常:Error parsing HTTP request header

这篇具有很好参考价值的文章主要介绍了java线上运行异常:Error parsing HTTP request header。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.部署异常如下:

java线上运行异常:Error parsing HTTP request header

2.出现原因

这个问题的原因是高版本的tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。而我们的系统在通过地址传参时,在url中传了一段json,传入的参数中有"{"不在RFC3986中的保留字段中,所以会报这个错。

简而言之就是说,高版本的tomcat更加规范,才会出现这种报错

3.解决办法

3.1降低Tomcat的版本(太麻烦,可能你也没有权限做这件事)
3.2 在springboot中添加配置
3.2.1 http请求配置处理
@SpringBootApplication 
public class IntelligentBackApplication{ 
    public static void main(String[] args) {             
      System.setProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "true"); 
      SpringApplication.run(IntelligentBackApplication.class, args); 
} }

3.2.2 webmvc配置路径处理

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        UrlPathHelper urlPathHelper = new UrlPathHelper();
        urlPathHelper.setUrlDecode(false);
        configurer.setUrlPathHelper(urlPathHelper);
    }
}

原文链接:https://blog.csdn.net/a754782427/article/details/126409965文章来源地址https://www.toymoban.com/news/detail-748107.html

到了这里,关于java线上运行异常:Error parsing HTTP request header的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包