我们已经激活了HTTP Strict Transport Security in production .它运作良好。但是现在想用子域名开发的时候,网站自动跳转到https:
主机设置为 127.0.0.1 时的事件
127.0.0.1 dev.tokeeen.com
有什么办法可以避免这种行为吗?我当然不想强求主域主机。
最佳答案
您目前正在您的主站点上进行设置:
Strict-Transport-Security max-age=63072000; includeSubDomain
如果您更改此设置以删除 includeSubDomain
位,那么它将仅适用于您的顶级域,而不适用于 dev 子域:
Strict-Transport-Security max-age=63072000;
然后您需要访问您的生产站点以加载此 header 并覆盖浏览器缓存中的现有 header 。
但是这不太安全(例如,有人可以设置 www.tokeeen.com 并通过一些 DNS 操作假装是您的网站)。
但老实说,您应该只在您的开发站点上使用 https。互联网正在转向 HTTPS 和 many new features do not work under plain HTTP .此外,您正在开发的内容与您的生产站点不相似,因此如果您包含 http://链接而不是 https://例如,当您发布到生产站点时,您会突然看到此失败。
您希望在您的网站上使用 LetsEncrypt,因此证书是免费的。帮自己一个忙,为您的 dev 子域再获得一个免费的。
关于http - 由于生产中的 STS 规则,开发站点重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484073/