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

2592
0

yangqh 数据老手Lv5

发表于2021-3-10 15:07

楼主
有时候我们做密码加密的时候会采取{md5}加密方式,比如BI默认就是这种加密方式,那当浏览器地址栏上用login.do接口、直接用ID和PW密文登录的时候(例如:http://127.0.0.1:8080/BI/esmain/login.do?id=admin&pw={cfcd208495d565ef66e7dff9f98764da})当使用高版本的tomcat部署的BI时,会遇到这个报错:

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

处理方法:
…/conf/catalina.properties中,找到最后注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow=|  ,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},表示把{}放行
截图202103101504595037.png

最近看过此主题的会员

13407717840

ssssssss

0个回答

只看楼主

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

渠道咨询电话:137-0120-6790

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号