Safari Redirect http ke (tidak ada) https

34

Safari memaksa pengalihan ke versi https dari situs yang sebelumnya saya kunjungi melalui https.

Namun, situs https tidak lagi berfungsi dan tidak ada cara untuk mencegah bentuk Safari yang mencoba memuatnya.

HTTP mengalihkan ke HTTPS

Berikut adalah pertanyaan Forum Apple terkait, Safari terus mengarahkan http ke https

rjstelling
sumber
Apakah mungkin HSTS diaktifkan di suatu tempat di masa lalu?
Max Ried
@ MaxRied Kedengarannya seperti saran yang bagus, saya tidak tahu. Untuk referensi: en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
rjstelling

Jawaban:

19

Jika situs sebelumnya telah mengindikasikan ke Safari bahwa ia ingin selalu diakses melalui HTTPS melalui HSTS ( HTTP Strict Transport Security ), maka Safari akan selalu mencoba untuk mengarahkan kembali ke HTTPS.

Anda dapat menghapus cache HSTS dengan menghapus ~/Library/Cookies/HSTS.plist.

Perhatikan bahwa Safari juga melakukan cache pengalihan 301 untuk sementara waktu dan dengan demikian menghapus cache Safari yang normal mungkin juga diperlukan: dari menu Develop (aktifkan di Preferences → Advanced), pilih Empty Caches.

GRG
sumber
Saya harus mulai menulis jawaban ...
Max Ried
10
@ grgarside Saya mencoba ini beberapa kali, tidak berfungsi lagi
kushdilip
"Mengosongkan cache Safari yang normal" - bagaimana, tepatnya ??
Wildcard
@Wildcard Saya telah mengedit jawaban saya dengan informasi itu
grg
8

Sejak Desember 2017, Google telah menambahkan ".dev" TLD ke daftar HSTS yang dimuat sebelumnya untuk Chrome!

Safari menggunakan daftar yang sama. Jadi Safari akan selalu menambahkan * .dev ke daftar HSTS ...

Tampaknya banyak pengembang perlu mengubah akhiran .dev ke yang lain :(

Lihat: Chrome untuk memaksa domain .dev ke HTTPS melalui HSTS yang dimuat sebelumnya

Bruno de l'Escaille
sumber
1
Ini memicu kemarahan saya. Tidak ada TLD yang sepenuhnya dimiliki. Ada hal-hal indah yang disebut VPN atau Intranet yang sesuai. (PS kemarahan saya diarahkan ke Google, bukan jawabannya) :).
Volte
8

Kebijakan HSTS sekarang termasuk dalam data situs web yang disimpan Safari, dan Anda dapat menghapus data host lokal untuk menghapus masalah ini.

  1. command + ,
  2. Privasi -> Kelola Data Situs Web ...
  3. Cari localhost
  4. Klik Hapus

Ubah https://localhostke http://localhostdalam bilah alamat Anda dan klik tombol balik.

Johnathan Elmore
sumber
1
Ini tidak hanya berlaku untuk localhost, tetapi untuk domain apa pun. Perhatikan, bahwa untuk mengakses subdomain , Anda harus menghapus data domain induk . Yaitu jika Anda ingin mengakses http://some.subdomain.somehost.comdan diarahkan ke https, Anda harus mencari somehost.comdi Manage Website Datahalaman dan menghapusnya.
voiger
5

Saya belum menemukan solusi yang berfungsi tetapi untuk solusi gunakan 127.0.0.1 bukan localhost

http://localhost/

http://127.0.0.1/
saintmarl
sumber
1

Tampaknya Safari masuk ke perilaku gila ini ketika Anda telah mengakses localhost menggunakan sertifikat sisi klien. Dalam kasus saya, salah satu proyek yang saya kerjakan membutuhkan pengaturan sisi klien ini dan itu benar-benar merusak pengembangan untuk proyek-proyek di mana saya tidak dapat menggunakan http di localhost. Satu-satunya solusi yang saya temukan adalah mengedit /etc/hostsdan menambahkan alias untuk localhost, seperti itu

127.0.0.1 localhost

Kemudian gunakan saya dapat menggunakan http: // localhost: 3000 untuk mengakses proyek saya di port 3000 tanpa Safari memaksa koneksi https.

PEZ
sumber