【问题标题】:Does Spring Adds HSTS header for every response?Spring 是否为每个响应添加 HSTS 标头?
【发布时间】:2019-08-09 18:41:30
【问题描述】:

嗨,我正在浏览各种 spring-security 模块。我热衷于 HSTS(HTTP 严格传输安全)以及性能。

spring 是为它命中的每个请求添加 HSTS 标头还是仅第一次添加?

有没有优化的方法?我知道优化安全性是一个疯狂的想法,但出于好奇,我问这个问题。

即使我也浏览过spring-security 文档。但文档没有说明任何相关信息。

我强烈觉得 spring 没有必要为每个响应发送 HSTS 标头。

【问题讨论】:

    标签: spring spring-boot spring-security


    【解决方案1】:

    默认情况下,HSTS 标头被添加到安全请求中。您可以通过设置自定义RequestMatcher 来自定义此行为。然后,仅当请求与您的自定义匹配时才会发回标头。 例如:

    http
        .headers()
            .httpStrictTransportSecurity()
                .requestMatcher(new AntPathRequestMatcher("/api/**"));
    

    您可以在文档的HSTS header configuration 部分阅读更多内容。

    【讨论】:

    • @Eletheria 这会提高性能还是相反?使性能更差
    • @AkhilSurapuram 这取决于你的匹配器是什么。如果它比默认值更宽,则将为更多请求添加标头,并且将执行更多代码行。如果它更窄,那么它将为更少的请求添加。性能还取决于浏览器如何处理 HSTS 标头。我还没有运行性能测试来验证这一点,但总的来说,我认为您不会看到显着的性能影响。
    猜你喜欢
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    相关资源
    最近更新 更多