springboot 出現 The valid characters are defined in RFC 7230 and RFC 3986

Tomcat的新版本中增長了一個新特性,就是嚴格按照 RFC 3986規範進行訪問解析,而 RFC 3986規範定義了Url中只容許包含英文字母(a-zA-Z)、數字(0-9)、-_.~4個特殊字符以及全部保留字符(RFC3986中指定了如下字符爲保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。ide

解決方法: 新增一個bean.net

@Component 
public class ScTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
public ScTomcatWebServerCustomizer() {
}get

 

//relaxedQueryChars,relaxedPathChars
@Override 
public void customize(TomcatServletWebServerFactory factory) {
factory.addConnectorCustomizers(connector -> connector.setAttribute("relaxedQueryChars", "{}[]|"));
}
}class

相關文章
相關標籤/搜索