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 就好了,避免未來無法復原。