Ho implementato una politica HSTS per il nostro sito. Ho l'intestazione servita sul nostro dominio principale e viene inviata alla prima risposta che serve il Redirect 304 dal server. (Secondo questo articolo l'intestazione deve essere su questa risposta.). Abbiamo la direttiva includeSubDomains
su e preload
e abbiamo precaricato il nostro sito. È elencato nel file di configurazione di chromium json.
A volte il problema viene applicato per i sottodomini e talvolta non lo è, e non riesco a capire perché.
Ecco come appare una richiesta GET iniziale e la risposta dal nostro dominio (ho sostituito il nostro nome di dominio con REDACTED):
RICHIESTA
GET http://www.REDACTED.com/ HTTP/1.1
Host: www.REDACTED.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: user_segment=Prospect; _ga=GA1.2.992855402.1446138879; ASPSESSIONIDCQBCRBQD=EIAMMLLAAHBGBIPLEDPCPEFF
Risposta
HTTP/1.1 302 Object moved
Cache-Control: private
Content-Length: 149
Content-Type: text/html; Charset=utf-8
Expires: Wed, 28 Oct 2015 17:31:02 GMT
Location: https://www1.REDACTED.com/
Server: Microsoft-IIS/8.0
Set-Cookie: ASPSESSIONIDSQBTRCQC=MGIFCOMALHAFEDECCCMECFKB; path=/
X-Powered-By: ASP.NET
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Date: Thu, 29 Oct 2015 17:32:01 GMT
<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>This object may be found <a HREF="https://www1.REDACTED.com/">here</a>.</body>
So che l'HSTS funziona mettendo il browser in cache nella policy, ma sembra arbitrario quando gli UA (Chrome / Firefox) decidono di applicarlo effettivamente. A volte la sua applicazione è forzata, mentre altre non lo sono affatto nemmeno dopo che ho visitato il dominio principale per "aggiornare" la politica.