SpringBoot内嵌Tomcat版本升级步骤

这篇具有很好参考价值的文章主要介绍了SpringBoot内嵌Tomcat版本升级步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

由于Apache Commons FileUpload对请求部分要处理的数量未做限制,导致攻击者可以利用此漏洞恶意上传或一系列上传触发拒绝服务。

Apache Tomcat由于使用Apache Commons FileUpload的打包重命名副本来提供Jakarta Servlet规范中定义的文件上传功能。因此,Apache Tomcat也受到CVE-2023-24998影响。

影响版本:

Apache Commons FileUpload 1.0-beta-1 - 1.4
Apache Tomcat 11.0.0-M1
Apache Tomcat 10.1.0-M1 - 10.1.4
Apache Tomcat 9.0.0-M1 - 9.0.70
Apache Tomcat 8.5.0 - 8.5.84

安全版本:

Apache Commons FileUpload >= 1.5
Apache Tomcat >= 11.0.0-M3
Apache Tomcat >= 10.1.5
Apache Tomcat >= 9.0.71
Apache Tomcat >= 8.5.85

现space框架使用的springboot版本是2.3.2.RELEASE,内嵌tomcat版本是9.0.37,在受影响范围内,所以对tomcat版本进行升级,考虑到最新版tomcat的javax包迁移到jakarta,如果升级版本太高,需要改动代码量过多,容易引起其他问题,所以选择升级到9.0.71版本

二、升级步骤

添加版本信息

<tomcat.version>9.0.71</tomcat.version>
SpringBoot内嵌Tomcat版本升级步骤

springboot 项目加上面的版本号即可

SpringBoot内嵌Tomcat版本升级步骤
SpringBoot内嵌Tomcat版本升级步骤

springcloud 项目如果加上版本号不生效,再加下面的配置

版本控制<dependencyManagement>里添加依赖控制

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>${spring-boot.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-el</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <version>${tomcat.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-annotations-api</artifactId>
    <version>${tomcat.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-el</artifactId>
    <version>${tomcat.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-websocket</artifactId>
    <version>${tomcat.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

重新编译项目后,本地运行测试

SpringBoot内嵌Tomcat版本升级步骤
SpringBoot内嵌Tomcat版本升级步骤

升级成功文章来源地址https://www.toymoban.com/news/detail-508100.html

到了这里,关于SpringBoot内嵌Tomcat版本升级步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot源码学习4——SpringBoot内嵌Tomcat启动流程源码分析

    系列文章目录和关于我 我在初学spring的时候,很懵逼,因为整个项目中不存在main方法,让我有点摸不着头脑。那时候我知道有个东西叫tomcat是它监听了端口,解析了协议调到了我的servlet。 在我初学SpringBoot的时候,很懵逼,有main方法了,但是tomcat在哪里呢,又是如何启动起

    2024年02月04日
    浏览(47)
  • SpringBoot项目配置Eureka时,内嵌TomCat无法启动java.lang.IllegalStateException: StandardEngine[Tomcat].Standa

    java.lang.IllegalStateException: StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[] failed to start SpringBoot项目可以正常启动,但是一添加@EnableEurekaServer相关注解再启动SpringBoot就报如上错误。我是因为有两个jdk版本,一个8一个17. 从根本原因可以看出是SpringBoot的内嵌Tomcat报错,这是

    2024年02月09日
    浏览(43)
  • tomcat版本升级-启动报错

    根本原因是关闭 ApplicationContext 时, 它将销毁所有单例 bean, eurekaAutoServiceRegistration 首先销毁, 然后销毁feignContext. 销毁 feignContext 时, 它将关闭与每个 FeignClient 关联的 ApplicationContext. 由于eurekaAutoServiceRegistration 监听 ContextClosedEvent, 因此这些事件将发送到该bean. 不幸的是, 由于它已

    2024年02月13日
    浏览(110)
  • 修复漏洞(二)离线升级Tomcat版本

    生产环境无法联网,只能通过下载离线版本更新Tomcat到小版本最新 注意Tomcat10和11与jdk1.8都不兼容,只能更新到小版本的最新 前提是按照我这种方法配置Tomcat开机自启的https://blog.csdn.net/qq_44648936/article/details/130022136 备份整个安装目录和配置文件,压缩也好,文件复制也好,或

    2024年02月16日
    浏览(38)
  • 字节二面:为什么SpringBoot的 jar 可以直接运行?我说因为内嵌了Tomcat容器,他让我出门左转。。

    在传统的Java应用程序开发和部署场景中,开发者往往需要经历一系列复杂的步骤才能将应用成功部署到生产环境。例如,对于基于Servlet规范的Java Web应用,开发完成后通常会被打包成WAR格式,然后部署到像Apache Tomcat、Jetty这样的Web容器中。这一过程中,不仅要管理应用本身的

    2024年04月08日
    浏览(41)
  • 34、springboot切换内嵌Web服务器(Tomcat服务器)与 生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS

    知识点1:springboot切换内嵌Web服务器(Tomcat服务器) 知识点2:生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS spring-boot-starter-web 默认依赖 Tomcat 内置服务器 改为 Jetty 服务器 改为 Undertow 服务器 目的:把请求路径 http://xxxxx 改成 https://xxxxx 如图:原本普通的项目,启动后是http的

    2024年02月11日
    浏览(52)
  • Ubuntu 升级 golang 版本完美步骤

    1、打开profile: 2、添加以下变量: 3、是环境立即生效 4、将环境立即生效载入脚本 先打开文件这个文件: 加入这个命令: 看版本是不是你要的最新的。 参考:这里

    2024年02月07日
    浏览(50)
  • 升级 Node.js 版本的步骤

    node 已经成为前端开发,分不开的工具了,但node的使用除了npm i 等命令,还是有很多不清楚,不常用的。 特别是新手,可能经常遇到这样的问题, 问题一:明明我的命令是按照前端教的输入的,为什么启动不了我的项目? 问题二:我要负责好几个项目,并且他们使用的nod

    2024年02月06日
    浏览(47)
  • Android WebView版本升级的步骤

    Android WebView版本升级的步骤 WebView是Android平台上的一个重要组件,用于在应用程序中加载和显示Web页面。随着时间的推移,WebView版本的更新变得越来越重要,以确保应用程序的安全性和兼容性。本文将介绍在Android应用程序中升级WebView版本的方法,并提供相应的源代码。 检查

    2024年02月08日
    浏览(84)
  • CentOS7升级SSH最新版本(9.4p1)详细步骤

    目录 引言 当前操作系统情况 第一步:下载SSH和SSL安装包 第二步:安装配置Telnet(防止ssh安装失败无法连接) 1、安装Telnet 2、运行Telnet服务 3、移除文件 4、使用Telnet远程连接 第三步:卸载旧版本SSH 第四步:安装依赖包 第五步:升级SSL 1、解压源码包  2、进入源码包执行

    2024年02月04日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包