首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有Tomcat 9的HSTS报头有400个错误

带有Tomcat 9的HSTS报头有400个错误
EN

Stack Overflow用户
提问于 2022-01-26 14:47:39
回答 1查看 257关注 0票数 1

使用Tomcat v9.0.30,我能够使用内置Tomcat过滤器HttpHeaderSecurityFilter https://tomcat.apache.org/tomcat-9.0-doc/config/filter.html成功地为基于Spring的应用程序配置所有响应的HSTS报头(当通过HTTPS服务时)。

但是,我注意到头不是为400 HttpStatus的特定响应添加的。下面是一些截图:

这个问题似乎是针对400个错误,特别是当使用rfc 7230和rfc 3986的不符合规定的字符时:“[

我知道Tomcatv9.x.x出于安全原因默认拒绝这些字符,并且可以使用relaxedPathChars和relaxedQueryChars属性,但是400个错误响应呢?

为什么在这种情况下没有添加HSTS报头,是否有解决办法(为400响应添加报头)?如果应该将HttpHeaderSecurityFilter应用于所有响应,是否应该将其报告为Tomcat上的一个bug?

EN

回答 1

Stack Overflow用户

发布于 2022-10-26 16:07:52

relaxedPathChars='[]'添加到server.xml中的Connector元素中,在Tomcat 9.0.65上为我修正了这个问题。

最后,我使用了以下配置来允许更多字符(以满足安全扫描):server.xml -> Connector ->

代码语言:javascript
运行
复制
relaxedPathChars='[]|' relaxedQueryChars='[]|{}^\`"<>'

并设置以下开始选项(允许[encoded]反斜杠而不中断HSTS标头):

代码语言:javascript
运行
复制
-Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70865338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档