由于生产中的 STS 规则,开发站点重定向到 https

Dev site redirected to https because of STS rule in production

我们已经激活 HTTP Strict Transport Security in production。它运作良好。但是现在,想用子域名开发的时候,网站自动跳转到https:

https://dev.tokeeen.com/app_dev.php/my-habits

主机设置为 127.0.0.1 时的事件

127.0.0.1    dev.tokeeen.com

有什么办法可以避免这种行为吗?我当然不想强求主域主机

您必须为自己申请一个 wildcard certificate,因为 ssl 证书仅适用于该域。这就是拥有安全站点的全部意义所在。

我不确定您使用的是什么服务器系统,但如果您不想使用通配符并且不介意安全性较低,您可以将其他域绑定到 port 80binding type http`

您目前正在您的主站点上进行设置:

Strict-Transport-Security   max-age=63072000; includeSubDomain

如果您更改此项以删除 includeSubDomain 位,那么它将仅适用于您的顶级域,而不适用于 dev 子域:

Strict-Transport-Security   max-age=63072000;

然后您需要访问您的生产站点以加载此 header 并覆盖浏览器缓存中的现有站点。

然而,这不太安全(例如,有人可以设置 www.tokeeen.com 并通过一些 DNS 操作假装是您的站点)。

但老实说,您应该只在您的开发网站上使用 https。 Internet 正在转向 HTTPS 和 many new features do not work under plain HTTP。此外,您正在开发的内容与您的生产站点不相似,因此如果您包含 http:// 链接而不是 https:// 例如,当您发布到生产站点时,您会突然看到此失败。

您希望在您的网站上使用 LetsEncrypt,因此证书是免费的。帮自己一个忙,为您的 dev 子域再获得一个免费的。