是否有可能通过编程禁用HSTSredirect?

情况:网站,同时支持HTTP和HTTPS。 HSTS已启用。 由Apache 2.2提供支持。

之后,网站所有者决定只在特定页面上使用HTTPS(注册,订单等)。 但是,.htaccessredirect失败,因为许多站点访问者的浏览器已经收到了HSTS头,并且不会显示HTTP(导致redirect循环或到处使用HTTPS)。

是否有可能以编程方式禁用HSTSredirect? 唯一的工作方法,清理所有与浏览器相关的网站数据,是远远不够完美的。

尝试发送头像

Strict-Transport-Security: max-age=1; 

并在设置的时间间隔(1秒)后强制redirect到HTTP,但看起来并不是所有浏览器都可以被欺骗(redirect循环仍然发生)。

是唯一的解决scheme – 要求用户手动删除提到的网站数据?

根据https://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-11#section-6.1.1

“注意:最大年龄值为零(即”max-age = 0“)表示UA关于作为已知HSTS主机的主机停止。

所以设置Strict-Transport-Security: max-age=0;

不,这是不可能的,甚至不可能,HSTS是如何工作的。 为什么所有者希望禁用https对普通页面的支持? 你应该向所有者解释,在任何地方使用https都是最好的。