Safari erzwingt eine Weiterleitung zur https-Version einer Site, 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 Frage in den Apple-Foren: Safari leitet http weiterhin zu https um
Antworten:
Wenn die Site Safari zuvor mitgeteilt hat, dass immer über HTTPS über HSTS ( HTTP Strict Transport Security ) auf sie zugegriffen werden soll, versucht Safari immer, auf HTTPS umzuleiten.
Sie können den HSTS-Cache löschen, indem Sie ihn löschen
~/Library/Cookies/HSTS.plist
.Beachten Sie, dass Safari für eine Weile auch 301-Umleitungen 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 Cache leeren.
quelle
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 ...
Anscheinend müssen viele Entwickler das .dev-Suffix durch ein anderes ersetzen :(
Siehe: Chrome, um .dev-Domains über vorinstalliertes HSTS zu HTTPS zu zwingen
quelle
Die HSTS-Richtlinie ist jetzt in den gespeicherten Websitedaten von Safari enthalten. Sie können localhost-Daten entfernen, um dieses Problem zu beheben.
command + ,
Ändern
https://localhost
zuhttp://localhost
in der Adressleiste und klicken Sie auf Return - Taste.quelle
localhost
Domains, sondern für alle Domains. Beachten Sie, dass Sie die Daten der übergeordneten Domäne entfernen müssen, um auf die Unterdomäne zuzugreifen . Dh wenn Sie zugreifen und umgeleitet werden möchten , müssen Sie auf der Seite nach suchen und diese entfernen.http://some.subdomain.somehost.com
https
somehost.com
Manage Website Data
Ich habe keine funktionierende Lösung gefunden, aber verwenden Sie für eine Problemumgehung 127.0.0.1 anstelle von localhost
quelle
Es scheint, dass Safari in dieses verrückte Verhalten eintritt, 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 zerstört die Entwicklung für 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 wie folgt zu bearbeiten und hinzuzufügenVerwenden Sie dann Ich kann http: // localhost: 3000 verwenden , um über Port 3000 auf mein Projekt zuzugreifen, ohne dass Safari eine https-Verbindung erzwingt.
quelle