Nginx Server Block 中 Strict-Transport-Security 头信息出现 'max-age=0' 原因分析
Nginx 的 server 块中增加了 add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains' always,访问根目录时,response headers 中同时出现了 Strict-Transport-Security 'max-age=0'、Strict-Transport-Security 'max-age=31536000; includeSubDomains' always,为什么会出现 Strict-Transport-Security 'max-age=0'?我并没有在 http 或者 server 或者 location 找那个设置 Strict-Transport-Security 'max-age=0',而且我已经设置了 https 访问内容。
Strict-Transport-Security 是一个 HTTP 头信息,可以告知浏览器通过 HTTPS 访问该网站,并在一段时间内(max-age)强制使用 HTTPS。当你第一次访问该网站时,服务器会返回 Strict-Transport-Security 头信息,浏览器会将这个头信息保存下来,并在指定时间内强制使用 HTTPS,即使你手动输入 HTTP 地址也会自动跳转到 HTTPS 地址。
在你的情况下,可能是由于你之前访问过该网站的 HTTP 地址,并且服务器返回了 Strict-Transport-Security 头信息,浏览器保存了这个头信息,所以在你访问 HTTPS 地址时,仍然会出现 Strict-Transport-Security 'max-age=0',这是因为浏览器还没有在指定的时间内将这个头信息清除。你可以尝试在一个新的浏览器中访问该网站的 HTTPS 地址,看看是否仍然出现 Strict-Transport-Security 'max-age=0'。
原文地址: https://www.cveoy.top/t/topic/oiiG 著作权归作者所有。请勿转载和采集!