严格传输标头 HSTS

严格传输标头 HSTS

我需要在 Linux 中配置 HSTS(HTTP 严格传输标头)。我在 Tomcat/Conf Web.xml 文件中添加了以下内容: httpHeaderSecurity org.apache.catalina.filters.HttpHeaderSecurityFilter

    <init-param>
  <param-name>hstsEnabled</param-name>
  <param-value>true</param-value>
</init-param>
<init-param>
  <param-name>hstsMaxAgeSeconds</param-name>
  <param-value>31536000</param-value>
</init-param>
<init-param>
  <param-name>hstsIncludeSubDomains</param-name>
  <param-value>true</param-value>
</init-param>
 <async-supported>true</async-supported>

我还在 server.xml 文件中添加了端口 80,但仍然无法使用严格传输标头。

答案1

HSTS 是 HTTPS 站点的安全配置,不能像您一样使用纯 HTTP 进行配置。

Mozilla - 严格传输安全

HTTP Strict-Transport-Security 响应标头(通常缩写为 HSTS)让网站告诉浏览器只能使用 HTTPS 访问它,而不是使用 HTTP。

根据要求关联在您的评论中,要在 Tomcat 中使用 HSTS,您需要在同一主机上有一个 Web 服务器前端。

为了通过此表格加入 HSTS 预加载列表,您的网站必须满足以下一组要求:

  • 提供有效证书。

  • 如果您正在侦听端口 80,则在同一主机上从 HTTP 重定向到 HTTPS。

  • 通过 HTTPS 为所有子域提供服务。

根据我们的常见问题解答,指导您执行此操作的具体步骤不是主题。

一个可能的解决方案是配置Apache+SSL+X.509 证书作为站点/Tomcat 的前端。这样做时要注意,Tomcat 也有具体步骤。另请参阅tomcat 9 官方 SSL 指南

相关内容