瑞士电信CloudFoundry应用程序的响应头“Strict-Transport-Security”两次

问题描述:

将Swisscom CloudFoundry解决方案与Spring Boot应用程序一起使用时,两个Strict-Transport-Security标题被添加到HTTPS响应中。我研究过这个问题,发现CloudFoundry解决方案添加了几个头文件。默认情况下,Spring Boot已经在安全站点上添加了Strict-Transport-Security标头,这导致了两个不同的HSTS标头。瑞士电信CloudFoundry应用程序的响应头“Strict-Transport-Security”两次

我想在我的应用程序中配置我的应用程序的标题。有没有办法禁用Swisscom CloudFoundry解决方案的自动头添加?

如果没有,是否有办法告诉Swisscom Cloud覆盖现有的Strict-Transport-Security标题,而不是将其附加到标题列表中?

从春天启动应用程序HTTP响应,部署了瑞士电信的云,那么包含以下两个头:

Strict-Transport-Security:max-age=31536000 ; includeSubDomains 
Strict-Transport-Security:max-age=15768000; includeSubDomains 

感谢您的报告。我们目前只插入(不替换)HSTS头部,因为我们不知道有些框架默认添加了它。我们会考虑总是覆盖头部,因为重复头部可能没有意义,我们设置的默认值适用于大多数用例。

现在:你能否在Spring Boot中禁用设置HSTS? 按照Spring boot docs,你应该能够在这个片段中禁用它:

@EnableWebSecurity 
public class WebSecurityConfig extends 
     WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      // ... 
      .headers() 
       .frameOptions().sameOrigin() 
       .httpStrictTransportSecurity().disable(); 
    } 
} 

更新:我们将很快改变这种行为:Appcloud将只设置标题,如果应用程序没有设置它已经。因此,我们将选择留给开发人员,看他是否想要实现HSTS,但它会提供默认设置。

更新2:新行为已到位。

+0

感谢您的回答。这有效,但我想在我的应用程序中管理我的安全配置。拆分安全配置(即在我的应用程序中主动禁用HSTS头部)增加了忘记它的可能性。感谢您的工作! –