Ketika saya men-debug proyek Visual Studio menggunakan Chrome, browser mencoba mengarahkan ulang ke https setara dengan alamat web saya. Saya tidak mengaktifkan SSL di proyek web dan URL awal adalah URL http. Ketika saya debug menggunakan FireFox atau IE saya tidak punya masalah ini.
Saya menginstal ulang Chrome yang memperbaiki masalah selama sehari. Tanpa mengunduh tambahan apa pun, masalah terjadi lagi pada hari berikutnya.
Apa yang membuat Chrome mengarahkan ulang localhost ke https?
Network Inspect Shows: URL Permintaan: data: teks / html, chromewebdata Request Headers Header sementara ditampilkan User-Agent: Mozilla / 5.0 (Windows NT 6.3; WOW64) AppleWebKit / 537.36 (KHTML, seperti Gecko) Chrome / 36.0.1985.143 Safari / 537.36
Tidak ada pratinjau dan tidak ada data respons di tab tersebut.
sumber
.dev
sebagai doman lokal Anda, ini adalah masalah yang sama sekali baru, jadi saya tidak berpikir satu pun dari jawaban ini akan berfungsi lagi. Mulai Chrome 63 ... "Chrome untuk memaksa domain .dev ke HTTPS melalui HSTS yang dimuat sebelumnya". Jadi tidak ada lagi sertifikat SSL yang ditandatangani sendiri. Rupanya .dev adalah domain asli. Siapa yang tahu.Jawaban:
Saya percaya ini disebabkan oleh HSTS - lihat http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
Jika Anda telah (mengembangkan) situs localhost lain yang mengirim header HSTS ...
misalnya. Ketat-Transport-Security: max-age = 31536000; includeSubDomains; preload
... lalu tergantung pada nilai usia maks, permintaan mendatang ke localhost akan diminta untuk dilayani melalui HTTPS.
Untuk menyiasati ini, saya melakukan yang berikut.
Ini bukan solusi permanen, tetapi setidaknya akan membuatnya bekerja di antara proyek. Jika ada yang tahu bagaimana cara mengecualikan localhost secara permanen dari daftar HSTS, beri tahu saya :)
UPDATE - November 2017
Chrome baru-baru ini memindahkan pengaturan ini untuk duduk di bawah Hapus kebijakan keamanan domain
UPDATE - Desember 2017 Jika Anda menggunakan domain .dev lihat jawaban lain di bawah ini sebagai Chrome (dan lainnya) memaksa HTTPS melalui HSTS yang dimuat sebelumnya.
sumber
.dev
maka saya yakin ini tidak berfungsi @Alison karena pada rilis terbaru dari v.63 ... "Chrome untuk memaksa domain .dev ke HTTPS melalui HSTS yang sudah dimuat sebelumnya". Dengan demikian, .dev pada dasarnya tidak akan berfungsi sama sekali kecuali Anda memiliki sertifikat SSL yang ditandatangani dengan benar. Tidak ada lagi sertifikat yang ditandatangani sendiri. Lebih detail .Saya mengalami masalah yang sama di Chrome dan saya gagal mencoba menggunakan solusi BigJump .
Saya memperbaiki masalah saya dengan memaksa penyegaran keras, seperti yang ditunjukkan di blog ini (berasal dari jawaban SuperUser ini ).
Pastikan bilah alamat Anda menggunakan skema http dan kemudian ikuti langkah-langkah ini, mungkin beberapa kali:
sumber
PERKEMBANGAN BARU! (jika Anda memiliki Chrome 63+)
Jika domain localhost Anda
.dev
maka saya tidak berpikir jawaban yang diterima dan berfungsi sebelumnya tidak berlaku lagi. Ini karena pada Chrome 63 Chrome akan memaksa domain .dev ke HTTPS melalui HSTS yang dimuat sebelumnya.Artinya,
.dev
pada dasarnya tidak akan berfungsi sama sekali kecuali Anda telah memiliki sertifikat SSL yang ditandatangani - tidak ada lagi sertifikat yang ditandatangani sendiri! Pelajari lebih lanjut di posting blog ini.Jadi untuk memperbaiki masalah ini sekarang dan untuk menghindari hal ini terjadi lagi di masa depan
.test
adalah salah satu domain yang direkomendasikan karena disediakan oleh IETF untuk tujuan pengujian / pengembangan. Anda juga harus dapat menggunakannya.localhost
untuk pengembang lokal.sumber
.test
.dev
dengan.test
bekerja untuk saya juga di Chrome 63Membonceng Adiyat Mubarak
Tidak dapat disegarkan karena hanya menyegarkan di https. Mengikuti beberapa langkah yang sama.
sumber
Saya menghadapi masalah yang sama tetapi hanya di Chrome Canary dan mencari solusi saya telah menemukan posting ini .
Jadi, ubah domain Anda.
sumber
.local
terdengar agak rapuh, meskipun saya kira itu lebih aman daripada TLD lainnya. Saya juga menarik kembali penggunaan.localhost
karena tampaknya chrome melakukan pengalihan asli yang tampaknya mencegah rproxy saya bekerja..test
tampaknya paling aman, meskipun kikuk karena bentrok namespace dengan semua string yang digunakan dalam TDD /.test()
metode dll.Chrome 63 (keluar sejak Desember 2017), akan memaksa semua domain yang berakhir dengan .dev (dan .foo) dialihkan ke HTTPS melalui tajuk HTTP Strict Transport Security (HSTS) yang dimuat sebelumnya. Anda dapat menemukan informasi lebih lanjut tentang ini di sini.
sumber
.app
domain kami di minggu lalu juga. Kami sementara beralih ke.test
meskipun saya tidak berpikir itu solusi jangka panjang.dari https://galaxyinternet.us/google-chrome-redirects-localhost-to-https-fix/
Tidak ada perbaikan opsi yang berfungsi untuk saya, untuk memperbaiki
https://localhost:3000
, ini berhasil.klik dan tahan
Reload
Tombol dan pilihEmpty Cache and Hard Reload
, ini sepertinya hanya menjadi opsi aktiflocalhost
sumber
Saya juga telah berjuang dengan masalah ini. Tampaknya HSTS hanya ditujukan untuk nama domain . Jadi jika Anda mengembangkan di mesin lokal, akan lebih mudah untuk menggunakan alamat IP. Jadi saya beralih dari localhost ke 127.0.0.1
sumber
Saya tidak pernah menemukan akar masalahnya, tetapi saya bisa memperbaiki masalah ini. Saya menghapus folder cache aplikasi Google Chrome yang menyelesaikan masalah.
C: \ Pengguna [pengguna] \ AppData \ Lokal \ Google \ Chrome
sumber
Ini dapat disebabkan oleh pengalihan https yang di-cache, dan dapat diperbaiki dengan menghapus cache secara manual seperti pada jawaban Adiyat Mubarak.
Tetapi jika Anda mengunjungi localhost, Anda kemungkinan besar adalah pengembang, dalam hal ini Anda akan menemukan ekstensi chrome yang membersihkan cache seperti "pembunuh cache klasik" (lihat misalnya https://chrome.google.com/webstore/search/classic%20cache % 20killer? Hl = id ) berguna dalam berbagai situasi, dan kemungkinan sudah memiliki satu yang terpasang.
Jadi perbaikan cepatnya adalah: Instal cache killer (jika Anda belum memilikinya), aktifkan, dan muat ulang halaman. Selesai!
sumber
Solusi malas dan cepat untuk orang malas seperti saya (bekerja di Chrome 67).
Cukup luncurkan jendela Chrome lain dalam Mode Siluman , dengan opsi "Jendela Penyamaran" (CTRL + SHIFT + N). Tidak perlu menghapus cache, tidak perlu masuk ke pengaturan Chrome yang dalam, dll.
sumber
Tak satu pun dari ini bekerja untuk saya. Itu mulai terjadi setelah pembaruan chrome (Versi 63.0.3239.84, linux) dengan URL lokal. Akan selalu mengarahkan ke https apa pun yang terjadi. Kehilangan beberapa jam dan banyak kesabaran dalam hal ini
Apa yang berhasil setelah semua itu hanya mengubah domain.
Untuk apa yang layak, domainnya adalah .app. Mungkin itu ada hubungannya? Dan baru saja mengubahnya menjadi .test dan chrome berhenti mengalihkannya
sumber
Bagaimana saya memecahkan masalah ini dengan chrome 79:
Cukup tempelkan url ini di input pencarian Anda chrome: // flags / # allow-insecure-localhost
Ini membantu saya dengan menggunakan fitur eksperimental.
sumber
Sayangnya, tidak ada solusi yang tercantum di sini yang membantu saya menyelesaikan masalah ini. Saya memperbaiki masalah ini dengan menggunakan http://127.0.0.1 (alamat ip) alih-alih http: // localhost . Peretasan cepat untuk bekerja dengan pengembangan sudut dengan browser chrome.
sumber
Dalam kasus saya, saya mengatur jalur proyek saya
/Users/me/dev/project_root/
dan menjalankannodeJS
/express
server dari sana. Mengganti nama jalur saya ke/Users/me/project_root
(menghapusdev
dari jalur ke proyek) menyelesaikan masalah.Kemungkinan besar berkaitan dengan peraturan baru ini:
Anda dapat menemukan informasi lebih lanjut tentang ini di sini .
Menggunakan:
sumber
Solusi sederhana untuk ini adalah mengedit
/etc/hosts
file Anda dan membuat satu alias per proyek.Nama tanpa domain ini tidak akan pernah memiliki masalah dengan HSTS kecuali Anda mengirim respons HSTS yang disebutkan oleh @bigjump dan dengan manfaat tambahan dari mempertahankan sesi login Anda jika Anda berpindah-pindah antar proyek.
sumber
Buka pengaturan di Chrome dan kemudian ke Pengaturan lanjutan, di bawah bagian privasi dan keamanan klik Hapus data penjelajahan dan kemudian hapus semua data. Saya mengikuti langkah-langkah ini dan itu berhasil untuk saya. Semoga ini bisa membantu seseorang.
sumber
Chrome 63 memaksa domain .dev otomatis ke HTTPS melalui HSTS yang dimuat sebelumnya.
Perbaikan cepat: cukup ubah domain .dev ke .localhost.
sumber
Ini bukan solusi, itu hanya solusi.
Klik pada proyek studio visual Anda (tingkat atas) di penjelajah solusi dan pergi ke jendela properti.
Ubah SSL Diaktifkan ke true. Anda sekarang akan melihat nomor port lain sebagai 'URL SSL' di jendela properti.
Sekarang, ketika Anda menjalankan aplikasi Anda (atau melihat di browser), Anda harus mengubah nomor port secara manual ke nomor port SSL di bilah alamat.
Sekarang berfungsi dengan baik sebagai tautan SSL
sumber
Buka
Chrome Developer Tools
-> bukaNetwork
-> pilihDisable Cache
-> muat ulangsumber
Untuk seseorang yang memiliki masalah yang sama, saya menyelesaikannya dengan menekan CTRL + SHIFT + DELETE untuk menghapus hanya seluruh cache browser. Sekarang saya dapat mengakses situs web localhost saya pada protokol HTTP.
sumber
@Adiyat Mubarak jawaban tidak bekerja untuk saya. Ketika saya mencoba menghapus cache dan memuat ulang, halaman masih diarahkan ke https.
Solusi saya: Di sudut kanan atas bilah url (tepat di sebelah kiri ikon bintang favorit) ada ikon dengan tanda "x". Klik kanan pada itu, dan itu akan mengatakan sesuatu tentang "skrip tidak aman", lalu ada opsi untuk memuatnya. Lakukan itu.
sumber
Opsi lain adalah menggunakan sesuatu seperti https://github.com/rchampourlier/tunnelss
Tentu itu menambahkan dependensi / setup lain, tetapi juga memungkinkan pengujian https di dev, yang mungkin bagus.
Saya menggunakan RVM namun untuk mendapatkan terowongan bekerja saya harus menggunakan
sudo gem install tunnelss
dansudo tunnelss
sumber
Itulah solusi tercepat hari ini (17-3-2018):
Tutup semua tab / jendela Chrome dan jalankan di baris perintah Anda ini: (atau tambahkan sebagai kode pendek)
sumber