Unsichere Seite trotz HTTPS: Was ist Mixed Content?

Du hast ein SSL-Zertifikat für deine Domain erhalten, deine Website entsprechend konfiguriert, HTTPS erzwungen und der Browser zeigt dir dennoch an, dass die Verbindung nicht sicher ist?

Dies liegt daran, dass gewisse Elemente deiner Seite immer noch per unsicherem HTTP geladen werden und nicht komplett per HTTPS.

Die Browser helfen mittlerweile nach Kräften mit und versperren den Weg auf unsichere Seiten oder versuchen, Inhalte dennoch sicher zu laden, aber jeder Websitebetreiber steht spätestens durch die DSGVO in der Pflicht, eine sichere Webseite zu pflegen.

Hier zeigen wir dir, wie du an diesen Fehler herangehst:

Mixed Content erkennen

In den bekannten Browsern Chrome, Firefox und Edge sieht die Meldung trotz Seitenaufruf per https:// wie folgt aus:

Mixed Content Browser

Öffnest du nun die Entwickler-Tools mit der Taste F12“ auf deiner Tastatur und lädst die Seite erneut (die Taste „F5“erledigt dies auch, gerne mit „Strg„“ zusammen betätigen, um die Seite ohne Browser-Cache neu zu laden), erhältst du verschiedene Oberflächen.

Interessant sind für uns die Oberflächen Konsole und Netzwerk.


In der Oberfläche Netzwerk befindet sich eine Liste an allen Ressourcen, die von der Seite geladen werden. Die Spalte Protokoll lässt erkennen, ob über eine sichere Verbindung geladen wurde oder nicht. Einträge mit „http/1.1“ oder gar vom Browser blockierte Elemente lassen sich so schnell herausfiltern.


In der Oberfläche Konsole finden wir Meldungen wie folgende:

Mixed Content Konsole

Diese ganzen Elemente werden noch per HTTP geladen und das hat unterschiedliche Auswirkungen innerhalb der zwei Kategorien aktive und passive unsichere Inhalte.

Passive Inhalte sind Bilder, Videos oder Ähnliches. Diese können weniger Schaden anrichten als aktive Inhalte, wie zum Beispiel Skripte oder Stylesheets. Die meisten Browser werden den Zugriff auf aktive Inhalte strikter unterbinden als auf passive, aber als sicher wird deine Seite erst angezeigt, wenn alle Elemente per HTTPS geladen werden.

Mixed Content auflösen

Jetzt gilt es, die Stellen im Code und/ oder in der Datenbank deiner Website zu finden, die für das Laden per „http“ verantwortlich sind. Diese müssen nun auf „https“ umgeschrieben werden.

 

In den meisten Fällen reicht schon das Anpassen der Base-URL deines CMS (hier als Beispiel für WordPress oder Shopware) und ein Leeren des Caches deiner Website.

Wenn sich dann immer noch Elemente deiner Seite mit „http“ laden möchten, kannst du in deiner Datenbank die betroffenen Einträge ausfindig machen und dann auf „https“ umschreiben. 
Gerade bei WordPress ist da aber das Plugin „Better Search Replace“ eine große Hilfe.

Sollten sich danach noch Elemente finden, die unsicher mit „http“ geladen werden, muss in der .htaccess und in den einzelnen Dateien auf dem Filesystem nachgesehen werden.

Schlussendlich sollte deine Webseite nun sicher per HTTPS aufgerufen werden können.

Versuche dies auch gerne zum Testen mit einem Inkognito-Fenster oder per mobilem Internet vom Handy aus, um den Aufruf eines frischen Besuchers nachzuspielen.