栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

tomcat请求报错Invalid character found in the request target解决

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tomcat请求报错Invalid character found in the request target解决

tomcat启动项目后,进入某页面时报错Invalid character found in the request target…The valid characters are defined in RFC 3986

原因:
页面地址url中包含特殊字符,我是需要用 | 分割参数

解决:
网上说降低tomcat版本可以解决,但显然这种方法并不实用,一般项目的tomcat版本不可能随意变动的。
但问题还是在于tomcat,他认为 | 是违规的特殊字符,
所有需要配置,
在项目所使用的tomcat安装目录下,找到conf/catalina.properties文件,在最后添加两行:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
但注意!!
requestTargetAllow 只能配置|、{、} 这三个字符,其他的特殊字符(例如" < > [ ] ^ ` { | } .),依旧报错,如果使用了|{}之外的其他字符,那就还需要另外配置:
找到
conf/server.xml中的节点中,添加2个属性(可以接收任意特殊字符的组合,自行配置):

relaxedPathChars="|{}[],"
relaxedQueryChars="|{}[],"

刷新项目,重新启动,可以正常访问!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号