瑞士电信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:新行为已到位。
感谢您的回答。这有效,但我想在我的应用程序中管理我的安全配置。拆分安全配置(即在我的应用程序中主动禁用HSTS头部)增加了忘记它的可能性。感谢您的工作! –