Ich habe gerade beim SSL- Servertest überprüft, ob ich das SSL-Zertifikat auf meinem Server korrekt implementiert habe. Ich habe eine Note A in ihrer Rangliste, aber Sie können eine A + bekommen, wenn Sie HSTS aktiviert haben . Nach einigem Suchen fand ich heraus, dass Google HSTS als Ranking-Faktor behandeln könnte. Es scheint also in Bezug auf SEO relevant zu sein. Vor der Implementierung von HSTS habe ich einige Fragen.
Frage 1
Was passiert, wenn einige externe Javascripts beispielsweise ein Bild über http (anstelle von https) auf meiner Website laden? Verhindert HSTS das Laden der gesamten Seite oder blockiert es nur den spezifischen "unsicheren" Inhalt?
Frage 2
Im Moment (ohne HSTS) erhalte ich eine Warnung "gemischter Inhalt", wenn Ressourcen über http geladen werden. Existiert tatsächlich "gemischter Inhalt", wenn HSTS aktiviert ist?
quelle
Antworten:
HSTS versucht überhaupt nicht, gemischte Inhalte zu verarbeiten: Es steuert lediglich, ob der Browser eine interne
307
Umleitung zu HTTPS durchführen soll, wenn er versucht, HTTP-URLs zu laden, oder nicht. Die Warnung zu gemischten Inhalten ist eine Funktion des Browsers, und alle aktuellen Browser tun dies (Mozilla Firefox 23+, Google Chrome 21+, Internet Explorer 10+, Edge von Anfang an ...). Die Warnung vor gemischten Inhalten blockiert zB<script>
und<iframe>
, aber nicht<img>
.Die Warnung zu gemischten Inhalten in allen genannten Browsern wird überprüft, bevor Inhalte geladen werden, dh auch bevor HSTS umleitet. Dies scheint nur natürlich und ist auch leicht zu testen. Standardmäßig werden alle externen Bilder auch über einfaches HTTP geladen, und eine Warnung zu gemischten Inhalten wird nur für Skripte und Iframes ausgegeben.
HSTS ändert nur die Situation, in der ein Image aus einer HSTS-fähigen Domäne über einfaches HTTP geladen und ausgeführt
307 Internal Redirect
wird. Bemerkenswert: Dies ist eine Situation ohne Warnungen vor gemischten Inhalten.Daher funktioniert HSTS nicht als schnelle Lösung für das Problem mit gemischten Inhalten :
http://
URLs auf Ihrer Site auch für die Domain selbst korrigieren.quelle
upgrade-insecure-requests
Attribut. Sie können hier darüber lesen. Developer.mozilla.org/en-US/docs/Web/HTTP/Headers/… . Es scheint zu diesem Zeitpunkt mit Chrom und Firefox zu funktionieren.Ich denke, die Antwort darauf hängt davon ab, ob die Skripte, auf die Sie verweisen, in der Domäne gehostet werden, für die HSTS aktiviert ist.
Wenn Sie beispielsweise Ihre Inhalte von
mydomain.com
dieser Domain aus bereitstellen und HSTS für diese Domain (und möglicherweise auch von Subdomains) aktivieren, aber die Skripte und anderen gemischten Inhalte, auf die Sie verweisen,otherdomain.com
bereitgestellt werden, von denen HSTS nicht aktiviert wird, sind gemischte Inhalte möglich und der Browser wird weiterhin aktiviert warnen Sie davor.Was HSTS stoppt (und dabei hilft, gemischte Inhalte zu reparieren), sind Ressourcen, die über HTTP in derselben Domäne - und möglicherweise in einer Subdomäne, abhängig von Ihrer Konfiguration - verknüpft sind, da diese automatisch auf HTTPS "aktualisiert" werden.
quelle
Dies ist beabsichtigt: Wenn HSTS funktioniert, wird das richtige Bild (das Häkchen über HTTPS) und, falls nicht, ein X-Zeichen über HTTP abgerufen.
Hoffentlich werden Browser keine gemischten Inhaltswarnungen mehr für Inhalte anzeigen, die über HSTS auf HTTPS aktualisiert wurden. :) :)
quelle