Chrome: Situs web menggunakan HSTS. Kesalahan jaringan ... halaman ini mungkin akan berfungsi nanti


162

Saya berkembang melawan localhost. Pagi ini tepat setelah saya menggunakan fiddler saya mulai mendapatkan kesalahan ini pada chrome (berfungsi dengan benar di firefox)

"Anda tidak dapat mengunjungi localhost sekarang karena situs web menggunakan HSTS. Kesalahan dan serangan jaringan biasanya bersifat sementara, jadi halaman ini mungkin akan berfungsi kemudian." masukkan deskripsi gambar di sini

Sekarang localhost hanya berfungsi di chrome jika fiddler berjalan. Saya sudah memastikan proxy redirect yang membuat fiddler diperbaiki ketika fiddler dimatikan.

Saya juga mencoba mengimpor sertifikat ke root tepercaya saya dan memulai kembali browser (dan juga mesin).


2
Saya mengalami masalah ini ketika admin TI mengubah kebijakan mereka. Semua yang perlu saya lakukan adalah menjalankan perintah: gpupdate / force
Jacob Phan

Jawaban:


192

Salah satu cara yang sangat cepat adalah ketika Anda melihat layar "Koneksi Anda bukan pribadi":

Tipe badidea

ketik thisisunsafe(kredit ke The Java Guy untuk menemukan frasa sandi baru)

Itu akan memungkinkan pengecualian keamanan ketika Chrome sebaliknya tidak memungkinkan pengecualian ditetapkan melalui klik per tayang, misalnya untuk kasus HSTS ini.

Ini hanya direkomendasikan untuk koneksi lokal dan mesin virtual jaringan lokal, jelas, tetapi memiliki keuntungan bekerja untuk VM yang digunakan untuk pengembangan (misalnya pada koneksi lokal port-forwarded) dan bukan hanya koneksi localhost langsung.

Catatan: Pengembang Chrome telah mengubah frasa sandi ini di masa lalu, dan dapat melakukannya lagi. Jika badideaberhenti bekerja, silakan tinggalkan catatan di sini jika Anda mempelajari frasa sandi baru. Saya akan mencoba melakukan hal yang sama.

Sunting: pada 30 Januari 2018 frasa sandi ini tampaknya tidak berfungsi lagi.

Jika saya dapat memburu yang baru saya akan mempostingnya di sini. Sementara itu saya akan meluangkan waktu untuk mengatur sertifikat yang ditandatangani sendiri menggunakan metode yang diuraikan dalam posting stackoverflow ini:

Bagaimana cara membuat sertifikat yang ditandatangani sendiri dengan openssl?

Sunting: pada 1 Maret 2018 dan Versi Chrome 64.0.3282.186 frasa sandi ini berfungsi lagi untuk blok terkait HSTS di situs .dev.

Sunting: pada 9 Mar 2018 dan Versi Chrome 65.0.3325.146 badideafrasa sandi tidak lagi berfungsi.

Sunting 2: masalah dengan sertifikat yang ditandatangani sendiri tampaknya adalah bahwa, dengan pengetatan standar keamanan dewasa ini, mereka menyebabkan kesalahan mereka sendiri dilemparkan (nginx, misalnya, menolak untuk memuat sertifikat SSL / TLS yang mencakup sertifikat yang ditandatangani sendiri dalam rantai otoritas, secara default).

Solusi yang saya gunakan sekarang adalah dengan menukar domain tingkat atas di semua situs pengembangan .app dan .dev saya dengan .test atau .localhost. Chrome dan Safari tidak akan lagi menerima koneksi tidak aman ke domain tingkat atas standar (termasuk .app).

Daftar domain tingkat atas standar saat ini dapat ditemukan di artikel Wikipedia ini, termasuk domain penggunaan khusus:

Wikipedia: Daftar Internet Top Level Domains: Domain Penggunaan Khusus

Domain tingkat atas ini sepertinya dibebaskan dari batasan https-only:

  • .lokal
  • .localhost
  • .uji
  • (domain tingkat atas khusus / tidak standar)

Lihat jawaban dan tautan dari coding coding ke pertanyaan awal untuk informasi lebih lanjut:

jawaban dari codinghands


19
tidak pernah mendengar hal seperti ini tetapi untuk beberapa alasan itu berhasil! Terima kasih!
Alexey

bantuan besar! Terima kasih banyak!
RHSmith159

Aku bahkan tidak percaya ini berhasil, tetapi ternyata berhasil. Saya tidak yakin apakah saya harus senang atau kesal karena ini tidak didokumentasikan; Saya telah menghabiskan JAM selama bertahun-tahun berurusan dengan omong kosong ini di lingkungan Dev.
Scott Byers

7
Gunakan thisisunsafemasukan dari badidea. Ini telah diubah dengan versi baru
The Java Guy

ini berfungsi +1, namun chrome harus benar-benar menambahkan opsi untuk tetap melanjutkan dengan peringatan, alih-alih hanya mencekal
5413668060

186

Ketika Anda mengunjungi https: // localhost sebelumnya di beberapa titik tidak hanya mengunjungi ini melalui saluran aman (https daripada http), itu juga memberitahu browser Anda, menggunakan header HTTP khusus: Strict-Transport-Security (sering disingkat menjadi HSTS ), bahwa HANYA harus menggunakan https untuk semua kunjungan di masa mendatang.

Ini adalah fitur keamanan yang dapat digunakan oleh server web untuk mencegah orang diturunkan ke http (baik secara sengaja atau oleh pihak jahat).

Namun jika Anda kemudian mematikan server https Anda, dan hanya ingin menelusuri http Anda tidak dapat (dengan desain - itulah titik fitur keamanan ini).

HSTS juga mencegah Anda menerima dan melewatkan kesalahan sertifikat yang lalu.

Untuk mengatur ulang ini, jadi HSTS tidak lagi diatur untuk localhost, ketikkan yang berikut di bilah alamat Chrome Anda:

chrome://net-internals/#hsts

Di mana Anda dapat menghapus pengaturan ini untuk "localhost".

Anda mungkin juga ingin mencari tahu apa yang mengatur ini untuk menghindari masalah ini di masa depan!

Perhatikan bahwa untuk situs lain (mis. Www.google.com) ini "dimuat" ke dalam kode Chrome dan karenanya tidak dapat dihapus. Saat Anda menanyakannya di chrome: // net-internal / # hsts Anda akan melihatnya terdaftar sebagai staticentri HSTS.

Dan akhirnya perhatikan bahwa Google telah memulai prapemuatan HSTS untuk seluruh domain .dev: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


Saya mendapatkan ini untuk gmail.com. Saya pergi ke chrome: // net-internal / # hsts dan tanya gmail.com, dapatkan Found: static_sts_domain: gmail.com static_upgrade_mode: STRICT Mencoba menghapus domain, tetapi masih mengalami masalah.
paiego

Jawaban ini masuk akal bagi saya. Masalah saya adalah bahwa saya mengubah server situs web dari wordpress (wordpress di-host) ke server saya (self-host) dan sekarang mendapatkan ini dan mungkin juga semua pengunjung Chrome. Adakah cara untuk menyiasatinya bagi pengunjung tanpa mereka menghapus cache mereka?
TomC

2
Pada dasarnya satu-satunya jawaban adalah menggunakan HTTPS untuk maju atau berharap pengguna tidak men-cache. HTTPS adalah langkah maju dan bebas dari LetsEncrypt. Anda juga harus memeriksa apakah seseorang telah melakukan preload situs Anda ke kode browser tetapi tidak menebaknya jika Anda dapat meresetnya sendiri. Tidak menyadari Wordpress secara otomatis menambahkan HSTS jadi bertanya-tanya bagaimana itu bisa terjadi di sana.
Barry Pollard

Terima kasih @BazzaDP - tidak bisa melihat jalan keluarnya. Saya mungkin harus mengubah server nama kembali, cari tahu apa yang ada di situs lama yang memaksa HTTPS lalu coba dan migrasi lagi. Anda tidak bisa hanya FTP dari blog yang di-host Wordpress ke situs baru itu sebabnya ini adalah masalah bagi saya dan pemilik situs baru tidak memiliki sertifikat SSL (meskipun tetap mempertimbangkan untuk mendapatkannya)
TomC

2
Seperti yang saya sebutkan dalam jawaban saya entri yang dimuat sebelumnya (atau STS statis) tidak dapat dihapus karena ada dalam kode Chrome dan tidak ada dalam daftar yang dikelola secara lokal. Dan sesuai baris terakhir saya di jawaban saya, Google telah memutuskan untuk memuat ulang seluruh domain dev.
Barry Pollard


19

Saya punya masalah dengan situs yang berjalan di XAMPP dengan nama host pribadi. Tidak terlalu pribadi, ternyata! Mereka semua domain.dev, yang kini telah didaftarkan Google sebagai gTLD pribadi , dan memaksa HSTS di tingkat domain. Mengubah setiap host virtual menjadi .devel(eugh), me-restart Apache dan semuanya baik-baik saja.


Saya dapat mengkonfirmasi masalah ini dengan Opera 50.0.2762.9 dan yang mengalihkan domain pengembangan saya dari .devuntuk .develbekerja di sekitar pembatasan.
Courtney Miles

5
RFC 2606 cadangan beberapa domain tingkat atas khusus untuk mencegah konflik dengan pengujian pribadi. Tampaknya itu .testmungkin yang paling benar untuk beralih ke lingkungan pengembangan.
Courtney Miles

Ini benar-benar menyelamatkan hidup saya setelah berhari-hari tidak dapat mengetahui mengapa chrome bertindak seperti itu di .devdomain hosting lokal saya ... Ya Tuhan, siapa yang tahu ...
D. Petrov

Ya, sebenarnya .test hanya disarankan untuk digunakan dalam pengujian kode terkait DNS saat ini atau yang baru.
Alexey

Ini di sini telah menyelesaikan masalah saya. Saya menggunakan Laragon untuk lingkungan pengembangan saya.
Craig

12

Saya baru-baru memiliki masalah yang sama ketika mencoba untuk mengakses domain menggunakan CloudFlare Asal CA .

Satu-satunya cara yang saya temukan untuk mengatasi / menghindari pengecualian sertifikat HSTS di Chrome (Windows build) adalah mengikuti instruksi singkat di https://support.opendns.com/entries/66657664 .

Cara mengatasinya:
Tambahkan ke Chrome pintas bendera --ignore-certificate-errors, lalu buka kembali dan berselancar ke situs web Anda.

Pengingat:
Gunakan hanya untuk tujuan pengembangan.

masukkan deskripsi gambar di sini


Mungkin coba di Google Canary build google.com/chrome/browser/canary.html
Binyamin

Misalkan Anda tidak memiliki situs yang menyebabkan kesalahan sertifikat. Lalu, bagaimana Anda memeriksa apakah solusi Anda bekerja? Tidak membantu di sini - stackoverflow.com/questions/41902367/…
MasterJoe2

Bagaimana dengan versi mac?
The Java Guy



2

Saya menemukan kesalahan yang sama, dan mode penyamaran juga memiliki masalah yang sama. Saya mengatasi masalah ini dengan menghapus riwayat Chrome.


2

Saya sudah lama menderita masalah ini. Saya tidak dapat membuka situs web seperti GitHub. Saya hampir mencoba semua jawaban di web dan tidak ada yang bekerja. Mencoba menginstal ulang chrome juga. Saya menemukan solusi untuk ini dari orang jaringan kami dan itu berhasil. Ada perbaikan dalam registri yang akan menyelesaikan kesalahan ini secara permanen.

  1. Tekan Windows + R tombol untuk membuka kotak dialog run
  2. ketik: regedit dan tekan enter untuk membuka registri
  3. Pada tampilan hierarki di klik kiri melalui jalur berikut HKEY_LOCAL_MACHINE> SOFTWARE> POLICIES> Microsoft> SystemCertificate> Authroot
  4. Sekarang klik dua kali pada DisableRootAutoUpdate di sebelah kanan dan atur ke 0 (nol) di kotak dialog yang muncul
  5. Mulai ulang PC Anda untuk menerapkan perubahan registri dan Anda tidak akan mendapatkan kesalahan ini lagi

Solusi di atas adalah untuk Windows 8. Ini hampir identik di versi yang lebih baru tetapi saya tidak yakin untuk versi sebelumnya seperti XP dan vista. Jadi itu perlu diperiksa.


Tahukah Anda apa arti opsi ini?
MasterJoe2

@ testerjoe2: Tidak Pak
Maulik Modi

1
Sedang menderita google-analytics.com ini bersama dengan berbagai domain google lainnya. Jawaban ini memecahkan masalah saya.
Shawn

Artikel di support.microsoft.com/en-us/help/2813430/... menjelaskan perilaku kunci yang diperkenalkan dalam tambalan untuk Windows Vista. Menyetel nilai khusus ini ke 0 menyebabkan sertifikat root yang diperbarui diambil secara otomatis dari Pembaruan Windows dan diinstal di toko Otoritas Sertifikasi Root Tepercaya. Dalam lingkungan perusahaan, ini dapat dimatikan sebagai langkah pengamanan; namun, itu berarti seseorang harus mengelola Otoritas Sertifikasi Root Tepercaya di tingkat perusahaan.
JamieSee
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.