5

將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 

回答

4

感謝您的報告。我們目前只插入(不替換)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頭部)增加了忘記它的可能性。感謝您的工作! –