Safari Weiterleitung von http zu (nicht vorhandenem) https


34

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.

HTTP leitet zu HTTPS um

Hier ist eine verwandte Frage in den Apple-Foren: Safari leitet http weiterhin zu https um


Ist es möglich, dass HSTS in der Vergangenheit aktiviert wurde?
Max Ried

@MaxRied Das klingt nach einem guten Vorschlag, von dem ich keine Ahnung habe. Als Referenz: en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
wird

Antworten:


19

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.


Ich sollte anfangen, Antworten zu schreiben ...
Max Ried

10
@grgarside Ich habe es mehrmals versucht, es funktioniert nicht mehr
kushdilip

"Löschen des normalen Safari-Cache" - wie genau?
Wildcard

@Wildcard Ich habe meine Antwort mit diesen Informationen bearbeitet
grg

8

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


1
Das erregt meine Wut. Keine TLD sollte vollständig in Besitz genommen werden können. Es gibt wunderbare Dinge, die als VPNs oder Intranets bezeichnet werden und angemessen wären. (PS meine Wut richtet sich an Google, nicht die Antwort) :).
Volte

8

Die HSTS-Richtlinie ist jetzt in den gespeicherten Websitedaten von Safari enthalten. Sie können localhost-Daten entfernen, um dieses Problem zu beheben.

  1. command + ,
  2. Datenschutz -> Website-Daten verwalten ...
  3. Suchen Sie localhost
  4. Klicken Sie auf Entfernen

Ändern https://localhostzu http://localhostin der Adressleiste und klicken Sie auf Return - Taste.


Dies gilt nicht nur für localhostDomains, 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.comhttpssomehost.comManage Website Data
voiger

5

Ich habe keine funktionierende Lösung gefunden, aber verwenden Sie für eine Problemumgehung 127.0.0.1 anstelle von localhost

http://localhost/

http://127.0.0.1/

1

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/hostseinen Alias ​​für localhost wie folgt zu bearbeiten und hinzuzufügen

127.0.0.1 localhost

Verwenden Sie dann Ich kann http: // localhost: 3000 verwenden , um über Port 3000 auf mein Projekt zuzugreifen, ohne dass Safari eine https-Verbindung erzwingt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.