终极解决方案: Invalid character found in the request target.
2024-09-01 14:53:05
终极解决方案:(导出可能出现)
我的tomcat版本是8.5.32,导出时遇到以下报错。
报错日志:
Invalid character found in the request target. The valid characters are defined in RFC 3986
从错误日志中看到对请求URL中对字符做了限制。
解决方法:
1.在tomcat安装路径中conf/catalina.properties中最后添加2行:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
网上还有一些掩耳盗铃的做法,就是降低tomcat的版本。Tomcat在 8.5版本后,在http解析时做了严格限制。
requestTargetAllow 只能配置|、{、} 这三个字符,对于其他的(例如" < > [ \ ] ^ ` { | } .),依旧报错,如果使用了|{}之外的其他字符,那就还需要如下配置。
2.在conf/server.xml中的<Connector>节点中,添加2个属性(可以接收任意特殊字符的组合,自行配置):
relaxedPathChars="|{}[],\"
relaxedQueryChars="|{}[],\"
最新文章
- How to reset password for unknow root
- python——请求服务器(http请求和https请求)
- Android笔试和面试提点
- 3.3---集合栈(CC150)
- Password Attacker
- 循环 wxl
- HDU 5996:dingyeye loves stone(阶梯博弈)
- 摘自:java夜未眠之java学习之道
- 【React Native 实战】微信登录
- 【转】pdf 中如何把几页缩小成一页打印
- SuperSocket学习笔记(二)
- MongoDB学习(翻译4)
- 总结的Javascript插件
- About A Scam
- HBuilderX——编译失败:HBuilderX 安装目录不能包括 ( 等特殊字符
- _net之美 记录笔记
- 手机控制台调试(需PC端协助)
- SVM探讨
- 启动OpenVPN失败
- January 12th, 2018 Week 02nd Friday