Spring引导:为嵌入式Tomcat启用HTTP跟踪方法

Spring引导:为嵌入式Tomcat启用HTTP跟踪方法,tomcat,spring-boot,http-trace,Tomcat,Spring Boot,Http Trace,独立Tomcat允许您通过allowTrace属性启用跟踪HTTP方法: allowTrace-可用于启用或禁用的布尔值 跟踪HTTP方法。如果未指定,则此属性设置为 false 如果我必须对使用嵌入式Tomcat的Spring Boot项目执行同样的操作,那么我可以使用什么样的配置/属性设置 我已经查找了Spring Boot for Tomcat server支持的属性: 但它似乎没有被列入清单。您可以通过编程方式配置连接器.allowTrace属性。在这种情况下,您必须为类定义bean,

独立Tomcat允许您通过
allowTrace
属性启用跟踪HTTP方法:

allowTrace-可用于启用或禁用的
布尔值
跟踪HTTP方法。如果未指定,则此属性设置为
false

如果我必须对使用嵌入式Tomcat的Spring Boot项目执行同样的操作,那么我可以使用什么样的配置/属性设置

我已经查找了Spring Boot for Tomcat server支持的属性:


但它似乎没有被列入清单。您可以通过编程方式配置
连接器.allowTrace
属性。在这种情况下,您必须为类定义bean,并通过调用方法添加连接器定制器。它允许您访问对象并调用所需的任何配置方法。在这种情况下,我们只需调用
connector.setAllowTrace(true)

您可以在一个单独的配置类中配置这个bean(如上面的示例中),或者只需将这个bean方法添加到主Spring引导应用程序类中

不能用
server.tomcat.*
like属性完成吗?
此时此刻——不。当前的Spring引导版本(
1.5.9-RELEASE
)不允许使用简单属性设置它。带有
server.tomcat
前缀的所有属性将自动映射到类。如果您查看一下它的javadocs(或IDE中的源代码),您会发现没有类似于
setAllowTrace(布尔值)
之类的方法。

上述解决方案仅适用于Spring Boot 1。对于弹簧护套2,以下工作:

    @Bean
    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> tomcatCustomizer() {
        return customizer -> customizer.addConnectorCustomizers(connector -> {
            connector.setAllowTrace(true);
        });
    }

我很感激你的回答,这在春天是很可能的。。。但同时是否存在一个简单的基于application.properties的属性…@samshers不,目前您无法使用前缀属性
server.tomcat设置此值。我已经更新了一个答案来解释为什么不可能。这就是它的。。。gr8@samshers我很高兴能帮助你:)祝你好运!
    @Bean
    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> tomcatCustomizer() {
        return customizer -> customizer.addConnectorCustomizers(connector -> {
            connector.setAllowTrace(true);
        });
    }
@ManagementContextConfiguration
public class ManagementInterfaceConfiguration {

    @Bean
    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> tomcatCustomizer() {
        return customizer -> customizer.addConnectorCustomizers(connector -> {
            connector.setAllowTrace(true);
        });
    }

}
org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration=\
com.package.ManagementInterfaceConfiguration