@Bean
public UndertowServletWebServerFactory servletWebServerFactory() {
UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory();
factory.addDeploymentInfoCustomizers(deploymentInfo -> {
// 禁用的请求类型
deploymentInfo.addInitialHandlerChainWrapper(new HandlerWrapper() {
@Override
public HttpHandler wrap(HttpHandler handler) {
HttpString[] disallowedHttpMethods = {HttpString.tryFromString("DELETE"),
HttpString.tryFromString("PUT")};
return new DisallowedMethodsHandler(handler, disallowedHttpMethods);
}
});
// 允许的请求方式
deploymentInfo.addInitialHandlerChainWrapper(new HandlerWrapper() {
@Override
public HttpHandler wrap(HttpHandler handler) {
HttpString[] allowedHttpMethods = {HttpString.tryFromString("DELETE"),
HttpString.tryFromString("PUT")};
return new AllowedMethodsHandler(handler, allowedHttpMethods);
}
});
});
return factory;
}
Undertow服务器禁用不安全的请求类型
最新推荐文章于 2026-01-28 02:58:41 发布
该博客介绍了如何使用Spring Boot的UndertowServletWebServerFactory,通过自定义DeploymentInfo定制化服务器,实现禁止DELETE和PUT请求,同时允许这些方法。展示了如何设置允许和禁止特定HTTP方法的处理策略。

6552

被折叠的 条评论
为什么被折叠?



