学习-Springboot禁止内置Tomcat不安全的HTTP方法
学习问题记录
用SpringBoot开发的项目在进行测试时,除GET、POST之外的HTTP请求方式都需要禁止,由于使用的内置Tomcat,试了几种方式,最后记录一下。
解决方式:
对独立启动的tomcat,修改配置文件即可,在网上可以找到很多。而对Springboot内置的tomcat,要添加配置类或者配置properties文件:
第一种方式(最终使用的):
. 添加配置类:
使用环境:JDK1.8
不需要添加maven依赖,tomcat内置在springboot包里。
@Configuration
public class TomcatConfig {@Beanpublic TomcatServletWebServerFactory servletContainer() {TomcatServletWebServerFactory tomcatServletContainerFactory = new TomcatServletWebServerFactory() {@Overrideprotected void postProcessContext(Context context) {SecurityConstraint constraint = new SecurityConstraint();constraint.setUserConstraint("CONFIDENTIAL");SecurityCollection collection = new SecurityCollection();collection.addPattern("/*");collection.addPattern("/ywyydsj/*");collection.addMethod("HEAD");collection.addMethod("PUT");collection.addMethod("PATCH");collection.addMethod("DELETE");collection.addMethod("OPTIONS");collection.addMethod("TRACE");collection.addMethod("COPY");collection.addMethod("SEARCH");collection.addMethod("PROPFIND");constraint.addCollection(collection);constraint.setAuthConstraint(true);context.addConstraint(constraint);context.setUseHttpOnly(true);constraint.addCollection(collection);context.addConstraint(constraint);}};tomcatServletContainerFactory.addConnectorCustomizers(connector -> {connector.setAllowTrace(true);});return tomcatServletContainerFactory;}}
第二种方式(仅供参考,试了下没起作用):
在配置文件application.porperties中添加如下配置:
#禁止不安全的HTTP方法
server.tomcat.port-header=HEAD,PUT,DELETE,OPTIONS,TRACE,COPY,SEARCH,PROPFIND
出现过一次OPTIONS在设置后,仍然可以使用情况,添加配置如下:
spring.mvc.dispatch-options-request=true
配置完成后可以使用POSTMAN进行测试,查看禁用的方法是否禁用成功。
学习-Springboot禁止内置Tomcat不安全的HTTP方法相关推荐
- springBoot修改内置tomcat端口
springBoot内置了tomcat,tomcat端口是8080,实际开发中,端口肯定是需要修改的,下面直接贴代码怎样修改tomcat端口; @SpringBootApplication@Mappe ...
- java非法字符65288,spring-boot使用内置tomcat时http请求非法字符过滤的问题
问题 在tomcat8.5.X以上版本中,tomcat对请求入参做了严格校验,具体参考下文资料. HTTP 400 Bad Request ... http11.Http11Processor : E ...
- springboot配置内置tomcat的日志
在springboot的项目的配置文件中添加如下图所示代码 端口 server.port=8050 配置log server.tomcat.accesslog.buffered=true server ...
- SpringBoot内置Tomcat浅析
一.SpringBoot框架内置Tomcat,开发非常方便,随着SpringBoot的框架升级,内置Tomcat也更新版本.本文SpringBoot框架版本:2.2.10. 1.如何查看SpringB ...
- Spring Boot2.0之 原理—创建内置Tomcat容器
前面所述的https://www.cnblogs.com/toov5/p/9823728.html 中的第一条先不赘述了,就是玩了maven 重点介绍后两条 首先内置Tomcat: SpringBoo ...
- 项目部署—移除Spring Boot内置Tomcat,部署到云服务器Tomcat
以往部署Java web项目到阿里云服务器时,直接将项目打包成war包,放到阿里云服务器中tomcat的webapps目录下,就可以访问了. SpringBoot默认给我们提供了内置tom ...
- SpringBoot内置tomcat启动原理
前言 不得不说SpringBoot的开发者是在为大众程序猿谋福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的 ...
- SpringBoot内置tomcat出现error:An incompatible version [1.1.32] of the APR based Apache Tomcat Native lib
SpringBoot内置tomcat出现error:An incompatible version [1.1.32] of the APR based Apache Tomcat Native lib ...
- SpringBoot内置Tomcat支持多大并发量和连接数
SpringBoot内置Tomcat,再默认设置中,Tomcat的最大线程数是200,最大连接数是10000.支持的并发量是指连接数,200个线程如何处理10000条连接的? Tomcat有两种处理连 ...
最新文章
- java计算下周一_java – 如何计算下周?
- 混凝土地坪机器人_创新引领 快速建造丨临时设施大项目部使用机器人等五项技术刷新建设新效率...
- boost::mp11::mp_valid相关用法的测试程序
- 通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
- 扔掉伟哥!男性壮阳食品荟萃
- [spring boot] 01 环境搭建 - 配置java和mvn环境
- 校招真题练习001 牛牛找工作(网易)
- java获取网络图片_做个看图片的App玩玩_第一篇
- 大数据时代的图表可视化利器——highcharts,D3和百度的echarts
- oracle数据库tx锁,oracle数据库有把TX锁,如何定位锁在哪?
- 语言用符号打印出落叶的图案_普通语言学概要(第一章第二节,语言是符号系统)...
- 感谢CSDN编辑精心采访--将人文融入到科技产品中
- 程序员面试注意几点就够了
- Java static关键字与静态块
- arm mali 天梯图_11月最新版联发科CPU天梯图 直观看天梯图秒懂联发科处理器排行...
- 计算机派位志愿填报技巧,海淀小升初哪些入学途径采取电脑派位 志愿又怎么填报 2021家长了解...
- 活非光合细胞中ROS的主要从哪里细胞来源?
- 【附源码】Python计算机毕业设计宁夏旅游信息管理系统
- 【Spark NLP】第 8 章:使用 Keras 进行序列建模
- python一般用几个空格表示缩进_Python 就是使用缩进来表示代码块,一般使用几个空格来表示一个缩进_女子礼仪答案_学小易找答案...
热门文章
- 谷歌宣布抽成30%,并要求所有安卓应用强制执行-1
- 给你的Hexo博客添加说说页面
- 运行MySQL报错:找不到命令mysql、ERROR 2003 (HY000)、ERROR 1045 (28000)
- Qt的inherits()函数判断qt控件是否为某个类实例
- Linux内核深入理解中断和异常(4):不可屏蔽中断NMI、浮点异常和SIMD
- 利用Selenium 登录京东,抢购19.9的荣耀手环3
- 为什么90%的人,都进不去央企国企呢?
- 今日世界的战国时代格局:千年的轮回,惊人的相似?
- 许嵩励志歌曲《浅唱》
- MEF 基础简介 四