学习-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有两种处理连 ...
最新文章
- 什麽样的资料集不适合用深度学习?
- acer清理工具 clear下载_放下偏见,这些国内大厂出品的工具资源,免费又良心!...
- 认清JavaScript和JAVA全局变量和局部变量的作用域
- Kinect实现简单的三维重建
- MyBatis知多少(8)关系型数据库
- 页面 动态显示cmd执行结果_把代码执行演示嵌在你的PPT中
- PHP检测每一段代码执行时间
- 数据结构—树的基本概念与性质(思维导图)
- matlab gui输入数据库,从数据库值填充Matlab GUI列表框
- arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它
- c#读取文本文件出现乱码
- 量化投资学习——股指期货研究(五)
- 常用性能工具:工欲善其事,必先利其器
- matlab 非a到z,MATLAB命令大全(A-Z)
- 共赶鸿蒙是什么意思,鸿蒙见大家同意,就一起赶往紫霄宫,鸿钧一讲就是三千年...
- 1.5小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻;18.5-25:正常;25-28:过重;28-32:肥胖
- 小程序突然报module is not defined_【第一季完】(字幕+讲解)小谢尔顿S1E22 Meemaw#39;s two boyfriends...
- python编写篮球_自制python版篮球经理游戏(1)—准备
- 插齿机挂轮组的计算机计算器,滚齿机挂轮齿数计算辅助工具官方版
- CSS设置背景颜色 拼接 (一半黑一半白) 条纹 渐变