其他分享
首页 > 其他分享> > tomcat异常解决(Invalid character found in the request target. The valid characters are defined in RFC 72

tomcat异常解决(Invalid character found in the request target. The valid characters are defined in RFC 72

作者:互联网

解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 问题

出现这个问题的原因如下:
经了解,这个问题是高版本tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。而我们的系统在通过地址传参时,在url中传了一段json,传入的参数中有”{“不在RFC3986中的保留字段中,所以会报这个错。
针对Tomcat 9的话,其实方法很简单。修改tomcat配置文件server.xml,在Connector配置项添加relaxedQueryChars="[]|{}^\`"<>"这句话就好了,即下面代码块的中间一行是需要添加的。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
 relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" 
 redirectPort="8443" />

转自:Tomcat 9错误

标签:字符,target,tomcat,character,RFC,characters,3986
来源: https://www.cnblogs.com/lizun/p/16411025.html