Header "Strict-Transport-Security" 两次响应 Swisscom CloudFoundry 应用程序
Header "Strict-Transport-Security" twice in response with Swisscom CloudFoundry application
将 Swisscom CloudFoundry 解决方案与 Spring 启动应用程序一起使用时,两个 Strict-Transport-Security
header 会添加到 HTTPS 响应中。我调查了这个问题,发现 CloudFoundry 解决方案添加了几个 header。 Spring 默认情况下,引导已经添加了 Strict-Transport-Security
header(在安全站点上),这导致两个不同的 HSTS headers。
我想在我的应用程序中配置我的应用程序的 headers。有没有办法禁用这种自动 header 添加 Swisscom CloudFoundry 解决方案?
如果不是,是否有办法告诉 Swisscom Cloud 覆盖现有的 Strict-Transport-Security
header 而不是将其附加到 header 的列表中?
来自 Spring 启动应用程序的 HTTP 响应,部署了 Swisscom Cloud,然后包含以下两个 header:
Strict-Transport-Security:max-age=31536000 ; includeSubDomains
Strict-Transport-Security:max-age=15768000; includeSubDomains
感谢您的报告。我们目前只插入(不替换)HSTS headers,因为我们不知道某些框架默认添加它。我们会考虑始终覆盖 header,因为重复的 header 可能没有意义,我们设置的默认值适用于大多数用例。
目前:您可以在 Spring 启动时禁用 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 只会设置 header。因此,我们将选择权留给开发人员是否以及如何实现 HSTS,但它会提供一个默认值。
更新 2:新行为已到位。
将 Swisscom CloudFoundry 解决方案与 Spring 启动应用程序一起使用时,两个 Strict-Transport-Security
header 会添加到 HTTPS 响应中。我调查了这个问题,发现 CloudFoundry 解决方案添加了几个 header。 Spring 默认情况下,引导已经添加了 Strict-Transport-Security
header(在安全站点上),这导致两个不同的 HSTS headers。
我想在我的应用程序中配置我的应用程序的 headers。有没有办法禁用这种自动 header 添加 Swisscom CloudFoundry 解决方案?
如果不是,是否有办法告诉 Swisscom Cloud 覆盖现有的 Strict-Transport-Security
header 而不是将其附加到 header 的列表中?
来自 Spring 启动应用程序的 HTTP 响应,部署了 Swisscom Cloud,然后包含以下两个 header:
Strict-Transport-Security:max-age=31536000 ; includeSubDomains
Strict-Transport-Security:max-age=15768000; includeSubDomains
感谢您的报告。我们目前只插入(不替换)HSTS headers,因为我们不知道某些框架默认添加它。我们会考虑始终覆盖 header,因为重复的 header 可能没有意义,我们设置的默认值适用于大多数用例。
目前:您可以在 Spring 启动时禁用 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 只会设置 header。因此,我们将选择权留给开发人员是否以及如何实现 HSTS,但它会提供一个默认值。
更新 2:新行为已到位。