3
Understanding HTTP Strict Transport Security (HSTS) (opensourceforgeeks.blogspot.tw)
IngramChen 積分 5

題外話…

Strict-Transport-Security: max-age=31536000; includeSubDomains

includeSubDomains 的立意良好,就是連所有的子網域都要求 https。

不過我發現 實務 上有時候會有問題…

比方說你做了個網站 https://kaif.io ,的確,這是新站,所以底下如果有 https://api.kaif.io 之類的的確應該一起保護...

不過,有時候你會整合外部的系統,例如 http://blog.kaif.io 其實是架在別的服務上,雖然它可以接受自訂 domain,但現階段還沒有辦法接上 https,要等半年之類的…

如果遇上這種事情一開始的 includeSubDomains 的決策就是錯的,而且無法回頭 (都存在 client 的 browser 裡了,清不掉)。

一個服務什麼時候會需要整合外部舊網站是很難說的,而舊服務要升級到 https 的時程更難預估 (技術債之所以是技術債… )。我們可不是活在完美的世界啊… (如果是完美的世界就通通都是 https 了,要 HSTS 幹嘛?)

個人建議實務上不要在 top domain 用 includeSubDomains,每個 domain 自己設自己的 HSTS 就好了,避免未來無法復原。