改造老项目突然遇到的问题,记录下。
spring boot 项目 Get请求时报错  请求直接返回400错误码

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RF


类似这种错误吧。

其实就是tomcat 7.0.90 tomcat 8 等添加了url的特殊字符校验。

原来请求参数中有 ‘[ ] { }’ 这种字符时可以通过,但是新的tomcat中会被拦截。


解决办法

spring boot  2.2.6 版本中直接如下配置即可,并且如说明一样:

Comma-separated list of additional unencoded characters that should be allowed in URI paths. Only "< > [ \ ] ^ ` { | }" are allowed.

需要哪个配置哪个吧。

server:
  port: 8080
  tomcat:
    relaxed-path-chars:
    - '['
    - ']'
    - '{'
    - '}'
    relaxed-query-chars:
    - '['
    - ']'
    - '{'
    - '}'



乐享:知识积累,快乐无限。