Spring boot内置tomcat的问题

对于CVE-2020-1938 漏洞,tomcat对该漏洞进行了修复,目前官方已在最新版本中修复了该漏洞,请受影响的用户尽快升级版本进行防护,官方下载链接:
Apache Tomcat 7.0.100
Apache Tomcat 8.5.51
Apache Tomcat 9.0.31
或者是修改tomcat的配置文件,将8009端口注释掉,相当于关掉8009端口。
现在我的spring boot项目是8.5.51版本的内置tomcat,然后安全评估报告仍然告诉我这个有问题,我想手动关掉8009端口,请问有人知道怎么配置吗

8009是AJP协议占用的端口。嵌入式的Tomcat不会有这个问题。“”安全评估报告仍然告诉我这个有问题” 。。可能就是简单粗暴的判断你的Tocmat版本。

你可以启动SpringBoot项目。然后看看8009端口是否被它占用了?端口都没占用,肯定就没漏洞了呀。
你要是实在害怕,我建议你用 undertow。这个性能其实比Tomcat要好。

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-undertow</artifactId>
		</dependency>

是内嵌的tomcat不支持这个协议吗? 我现在也很怀疑那个安全评估,但是还是想确认一下这个内嵌的8009端口是否会发生这个安全问题 :thinking:

应该是支持的。但是默认没有开启,如果要开启的话。需要自己编码配置的。

那不开启是不是就没有这个漏洞的问题呢?

嗯。

最好就是用Undertow。啥安全问题都没见过。 :grinning:

要是个人项目换啥都行,但是这公司的项目也不好自己下决定去换… …