Safari erzwingt eine Umleitung auf die https-Version einer Website, die ich zuvor über https besucht habe.
Die https-Site funktioniert jedoch nicht mehr und es gibt keine Möglichkeit zu verhindern, dass das Safari-Formular versucht, sie zu laden.
Hier ist eine verwandte Apple-Forumsfrage, Safari leitet http immer wieder auf https um
Wenn die Website Safari zuvor mitgeteilt hat, dass sie immer über HTTPS über HSTS ( HTTP Strict Transport Security ) aufgerufen werden möchte, versucht Safari immer, auf HTTPS umzuleiten.
Sie können den HSTS-Cache leeren, indem Sie löschen ~/Library/Cookies/HSTS.plist
.
Beachten Sie, dass Safari auch 301-Weiterleitungen für eine Weile zwischenspeichert und daher möglicherweise auch das Löschen des normalen Safari-Cache erforderlich ist: Wählen Sie im Menü „Entwickeln“ (unter „Einstellungen“ → „Erweitert“ aktivieren) die Option „Leere Caches“.
#Für 2020...
Im aktuellen MacOS müssen Sie
/Users/ your user name /Library/Cookies
, das wie folgt aussehen wird:HSTS.plist
den Papierkorb ein und starten Sie sofort den gesamten Mac neu.Deaktivieren Sie in extremen Fällen die gesamte Bandbreite zum Mac vor den Schritten 1-2-3-4.
Im aktuellen MacOS wird die HSTS-Liste sofort neu erstellt, wenn die Datei weggeworfen wird, wenn eine Netzwerkverbindung auftritt. Daher muss der Mac sofort neu gestartet werden, damit der Papierkorb funktioniert.
Die HSTS-Richtlinie ist jetzt in den gespeicherten Websitedaten von Safari enthalten, und Sie können localhost-Daten entfernen, um dieses Problem zu beheben.
command + ,
Wechseln Sie https://localhost
zu http://localhost
in Ihrer Adressleiste und klicken Sie auf die Eingabetaste.
localhost
, sondern für alle Domains. Beachten Sie, dass Sie für den Zugriff auf die Subdomain die Daten der übergeordneten Domain entfernen müssen . http://some.subdomain.somehost.com
Das heißt, wenn Sie darauf zugreifen und zu weitergeleitet werden möchten , müssen Sie auf der Seite https
nach suchen und sie entfernen.
somehost.com
Manage Website Data
Seit Dezember 2017 hat Google die TLD „.dev“ zur vorinstallierten HSTS-Liste für Chrome hinzugefügt!
Safari verwendet dieselbe Liste. Safari fügt also immer *.dev zur HSTS-Liste hinzu ...
Scheint, dass viele Entwickler das Suffix .dev in ein anderes ändern müssen :(
Siehe: Chrome, um .dev-Domains über vorinstalliertes HSTS auf HTTPS zu zwingen
Ich habe keine funktionierende Lösung gefunden, aber für eine Problemumgehung verwenden Sie 127.0.0.1 anstelle von localhost
http://localhost/
http://127.0.0.1/
Es scheint, dass Safari dieses verrückte Verhalten zeigt, wenn Sie mit einem clientseitigen Zertifikat auf localhost zugegriffen haben. In meinem Fall benötigt eines der Projekte, mit denen ich arbeite, dieses clientseitige Setup, und es ruiniert die Entwicklung für die Projekte, bei denen ich http auf localhost nicht verwenden kann. Die einzige Problemumgehung, die ich gefunden habe, besteht darin, /etc/hosts
einen Alias für localhost zu bearbeiten und hinzuzufügen, wie so
127.0.0.1 localhost
Verwenden Sie dann Ich kann http://localhost:3000 verwenden , um auf mein Projekt auf Port 3000 zuzugreifen, ohne dass Safari eine https-Verbindung erzwingt.
Ich bin auch auf dieses 'Safari HSTS Cache'-Problem gestoßen.
Ich habe die Lösung ausprobiert rm ~/Library/Cookies/HSTS.plist
, aber es funktioniert nicht.
Aber die folgenden Schritte sind nützlich:
rm -f ~/Library/Cookies/HSTS.plist
, entfernen Sie die HSTS-Cache-Dateikillall nsurlstoraged
, um den HTTP-Speichermanager zu stoppen (weil er einen In-Memory-Cache der HSTS-Hosts hat)Das Wichtigste ist, dass der Dienst nsurlstoraged über einen HSTS-Cache im Arbeitsspeicher verfügt und diesen Dienst neu laden muss.
Zigomir
Limit IP Address Tracking
unter Systemeinstellungen > Netzwerk deaktivieren.Hide IP address
Ich habe auch auf der Registerkarte Datenschutz der Safari-Einstellungen deaktiviert .