项目中使用了springboot2.*版本,结果发现域名中包含下划线的时候,比如adc_test.***.com ,结果接直接返回400了。结果发现这个是在tomcat 版本在8.5.31以上都会出现问题
找到个问题了接下来就是想解决方案,于是想着把tomcat 的版本给退回去,网上找了下资料,说是pom文件中配置tomcat的版本就可以了
<tomcat.version>8.0.4</tomcat.version>
结果发现启动不了,报错
Caused by: org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getWebServerFactory(ServletWebServerApplicationContext.java:204)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:178)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:152)
... 16 common frames omitted
查了一圈,最好找到资料说是sringboot2.*只支持tomcat8.5.* 以上的版本。
最后调整上面的tomcat 的版本高于8.5.* 但是低于8.5.31 即可。