在开发环境中,我的浏览器 (Yandex) 将 OPTIONS
请求重定向 (307) 到 URL 的 https 版本。由于我们没有设置 SSL,因此请求失败并显示错误 Response for preflight is invalid (redirect)
。
最佳答案
如果您没有设置 HTTPS,则永远不应读取 HSTS 值 - 浏览器必须忽略通过未加密的 HTTP 连接发送的 HSTS。
如果您曾经有 HTTPS 但现在不再有(或者如果您的某些域/页面上有 HTTPS),那么您的浏览器可能已经缓存了 HSTS 设置,以用于浏览器上次设置的任何 max-age 值阅读标题。您需要在浏览器中清除它。如何做到这一点因浏览器而异,但在所有浏览器中工作的一种更简单的方法是像您所做的那样发布一个最大年龄为 0 的新 HSTS header ,然后通过 HTTPS 访问页面(而不是未加密的协议(protocol))。这显然需要你有一个你说你没有的 HTTPS 设置?在所有浏览器都为所有受影响的域设置了新设置后,您就可以完全停止发布该 HSTS header 。
当浏览器缓存了以前的版本时,跳过重置步骤并仅关闭 header 是行不通的 - 至少在浏览器的缓存版本在 max-age 时间过期之前是这样。
关于spring-boot - Spring 启动 : Do not send HSTS header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49201779/