标题"严格 - 运输 - 安全"两次响应Swisscom CloudFoundry应用程序

时间:2017-10-10 17:05:36

标签: http-headers cloudfoundry hsts swisscomdev strict-transport-security

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

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

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

来自Spring Boot应用程序的HTTP响应,部署了Swisscom Cloud,然后包含以下两个标题:

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

1 个答案:

答案 0 :(得分:4)

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

目前:你能禁用在Spring Boot中设置HSTS吗? 根据{{​​3}},您应该可以使用此代码段禁用它:

@EnableWebSecurity
public class WebSecurityConfig extends
        WebSecurityConfigurerAdapter {

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

更新:我们很快就会改变这种行为:如果应用程序尚未设置标题,Appcloud将只设置标题。因此,我们将选择留给开发人员,如果他想要实施HSTS,那么它将提供默认值。

更新2 :新行为已到位。