use*_*139 2 apache-http-server ssl tls hsts
我已将 Apache 配置为返回 HSTS 标头。从 Google Chrome连接到https://lab20.example.com并使用开发人员工具运行时,我可以看到以下响应标头:Strict-Transport-Security:max-age=63072000; includeSubdomains;
但它不起作用。当我尝试访问http://lab20.example.com 时,Chrome 允许这样做。
同样在从 chrome 运行时:chrome://net-internals/#hsts Query domain "lab20.example.com"我收到“未找到响应”。
谁能解释为什么会发生这种情况?
对于遇到类似问题的其他人 - 可能是因为您的浏览器尚未通过 HTTPS 访问该站点。尝试通过 HTTPS 访问它,然后再次通过 HTTP 访问。如果 HSTS 正确实现,那么最后一个请求应该会失败。MDN 很好地解释了它:
注:该
Strict-Transport-Security头忽略浏览器时,您的站点使用访问HTTP; 这是因为攻击者可能会拦截HTTP连接并注入或删除标头。当您的站点在HTTPS没有证书错误的情况下被访问时,浏览器就会知道您的站点是HTTPS有能力的并且会尊重Strict-Transport-Security标头。