Safari wymusza przekierowanie do wersji https strony, którą wcześniej odwiedziłem przez https.
Jednak witryna https już nie działa i nie ma sposobu, aby powstrzymać formularz Safari przed próbą załadowania.
Oto powiązane pytanie na forach Apple, Safari przekierowuje http do https
Odpowiedzi:
Jeśli strona wcześniej poinformowała Safari, że chce być zawsze dostępna za pośrednictwem HTTPS za pośrednictwem HSTS ( HTTP Strict Transport Security ), Safari zawsze spróbuje przekierować na HTTPS.
Możesz wyczyścić pamięć podręczną HSTS, usuwając
~/Library/Cookies/HSTS.plist
.Pamiętaj, że Safari przez chwilę buforuje również przekierowania 301, dlatego może być również konieczne wyczyszczenie normalnej pamięci podręcznej Safari: z menu Programuj (włącz w Preferencje → Zaawansowane), wybierz Puste pamięci podręczne.
źródło
Od grudnia 2017 r. Google dodaje TLD „.dev” do wstępnie załadowanej listy HSTS dla Chrome!
Safari używa tej samej listy. Dlatego Safari zawsze doda * .dev do listy HSTS ...
Wydaje się, że wielu programistów będzie musiało zmienić sufiks .dev na inny :(
Zobacz: Chrome, aby zmusić domeny .dev do HTTPS za pomocą wstępnie załadowanego HSTS
źródło
Polityka HSTS jest teraz zawarta w danych przechowywanych na stronie Safari i możesz usunąć dane localhost, aby usunąć ten problem.
command + ,
Zmień
https://localhost
nahttp://localhost
pasku adresu i kliknij klucz powrotu.źródło
localhost
domen, ale także dowolnych domen. Pamiętaj, że aby uzyskać dostęp do subdomeny , musisz usunąć dane domeny nadrzędnej . To znaczy, jeśli chcesz uzyskać dostęphttp://some.subdomain.somehost.com
i zostać przekierowanymhttps
, musisz wyszukaćsomehost.com
naManage Website Data
stronie i usunąć ją.Nie znalazłem żadnego działającego rozwiązania, ale w celu obejścia tego problemu użyj 127.0.0.1 zamiast localhost
źródło
Wygląda na to, że Safari wkracza w to szalone zachowanie, gdy uzyskałeś dostęp do hosta lokalnego za pomocą certyfikatu po stronie klienta. W moim przypadku jeden z projektów, z którymi pracuję, wymaga konfiguracji po stronie klienta i całkowicie psuje rozwój projektów, w których nie mogę używać http na localhost. Jedyne obejście, jakie znalazłem, to edytowanie
/etc/hosts
i dodawanie aliasu dla localhost, podobnie jak toNastępnie użyj Mogę użyć http: // localhost: 3000, aby uzyskać dostęp do mojego projektu na porcie 3000 bez Safari wymuszającego połączenie https.
źródło