Https

是否可以以程式方式禁用 HSTS 重定向?

  • August 30, 2016

情況:站點,同時支持 HTTP 和 HTTPS。HSTS 已啟用。由 Apache 2.2 提供支持。

後來,網站所有者決定只在某些頁面(註冊、訂單等)上使用 HTTPS。但是,.htaccess 重定向失敗,因為許多站點訪問者的瀏覽器已經接收到 HSTS 標頭並且不會顯示 HTTP(導致重定向循環或到處使用 HTTPS)。

是否可以以程式方式禁用 HSTS 重定向?唯一有效的方法是清理與網站相關的所有瀏覽器保存的數據,遠非完美。

嘗試發送標頭,例如

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

並在設置的間隔(1 秒)過去後強制重定向到 HTTP,但看起來並非所有瀏覽器都可以被欺騙(重定向循環仍然發生)。

是唯一的解決方案 - 要求使用者手動刪除提到的網站數據?

根據https://datatracker.ietf.org/doc/html/draft-ietf-websec-strict-transport-sec-11#section-6.1.1

” 注意:max-age 值為零(即“max-age=0”)表示 UA 停止將主機視為已知 HSTS 主機。

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

不,這是不可能的,甚至不應該是可能的,這又是 HSTS 的工作方式。為什麼所有者要禁用對普通頁面的 https 支持?您應該向所有者解釋 https 在任何地方使用時效果最佳。

引用自:https://serverfault.com/questions/800005