Google Chrome localhost'u https'ye yönlendiriyor


362

Bir Visual Studio projesinde Chrome kullanarak hata ayıkladığımda, tarayıcı web adresimin https eşdeğerine yeniden yönlendirmeye çalışıyor. Web projesinde SSL etkin değil ve başlangıç ​​URL'si http URL. FireFox veya IE kullanarak hata ayıklama zaman bu sorun yok.

Sorunu bir gün boyunca düzelten Chrome'u yeniden yükledim. Herhangi bir eklenti indirmeden sorun ertesi gün tekrarlandı.

Chrome'un yerel ana bilgisayarı https'ye yönlendirmesini sağlayan nedir?

Ağ Denetimi Gösterir: İstek URL'si: data: text / html, chromewebdata İstek Üstbilgileri Geçici üstbilgiler gösterilir Kullanıcı Aracısı: Mozilla / 5.0 (Windows NT 6.3; WOW64) AppleWebKit / 537.36 (KHTML, Gecko gibi) Chrome / 36.0.1985.143 Safari / 537,36

Bu sekmelerde önizleme yok ve yanıt verisi yok.


Ağ Müfettişi ne gösteriyor?
c69

4
Ağ incelemesi hiç bir şey göstermiyor. İstenen URL'yi bile göremiyorum. URL iste: veri: metin / html, chromewebdata İstek Başlıkları Geçici başlıklar gösterilir Önbellek Kontrolü: önbellek yok Pragma: önbellek yok Kullanıcı Aracısı: Mozilla / 5.0 (Windows NT 6.3; WOW64) AppleWebKit / 537.36 (KHTML, Gecko gibi) ) Krom / 36.0.1985.143 Safari / 537.36
Brett Mathe

CHROME 63: cevaplar için kaydırma yapmaya devam edin
northamerican

Sadece benim krom yeniden yükleyerek tüm sorunları çözer .. şimdi benim .dev ve artık https yönlendirme değil. Keşke daha önce denemiş olsaydım .. çok zaman harcadım ..
Tac Khan

10
Yakın zamanda bu problemi olan herkes .dev, yerel doman olarak kullanmaya çalışıyorsanız , bu tamamen yeni bir konudur, bu yüzden bu cevapların hiçbirinin artık işe yarayacağını düşünmüyorum. Chrome 63'ten itibaren ... "Chrome, .dev alan adlarını önceden yüklenmiş HSTS aracılığıyla HTTPS'ye zorlamak için". Artık kendinden imzalı SSL sertifikaları yok. Görünüşe göre .dev gerçek bir domain. Kim biliyordu.
Trevor

Yanıtlar:


593

Bunun HSTS'den kaynaklandığını düşünüyorum - bkz. Http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

Bir HSTS başlığı gönderen başka bir yerel ana bilgisayar siteniz varsa (geliştirdiyseniz) ...

Örneğin. Katı-Taşımacılık-Güvenlik: max-age = 31536000; includeSubDomains; preload

... daha sonra maks. yaş değerine bağlı olarak, gelecekte HTTPS üzerinden localhost'a yapılacak taleplerin karşılanması gerekecektir.

Bunu aşmak için aşağıdakileri yaptım.

  • Chrome adres çubuğuna "chrome: // net-internals / # hsts" yazın
  • Sayfanın en altında QUERY alan adı metin kutusu vardır - localhost'un tarayıcı tarafından bilindiğini doğrulayın. "Bulunamadı" yazıyorsa, aradığınız cevap bu değildir.
  • Öyleyse, yukarıdaki metin kutusunu kullanarak localhost etki alanını SİLİN
  • Siteniz artık düz eski HTTP kullanarak çalışmalıdır

Bu kalıcı bir çözüm değildir, ancak en azından projeler arasında çalışmasını sağlayacaktır. Herkes localhost'u HSTS listesinden kalıcı olarak nasıl hariç tutacağını biliyorsa lütfen bana bildirin :)

GÜNCELLEME - Kasım 2017

Chrome kısa bir süre önce bu ayarı Alan adı güvenlik politikalarını sil altında oturup taşındı

resim açıklamasını buraya girin

GÜNCELLEME - Aralık 2017 .dev alan adını kullanıyorsanız, Chrome (ve diğerleri) önceden yüklenmiş HSTS yoluyla HTTPS'yi zorladığı için diğer yanıtları aşağıda görebilirsiniz.


6
Çok sinir bozucu. Ama sebebini bulduğum için çok mutluyum.
Zapnologica

21
"Localhost" sorgusunu sorgulamaya çalıştım ama bulunamadı
Chin

2
Bu eski bir yazı olduğunu biliyorum, ancak herhangi bir fikir nasıl, localhost sorgulamada kabul edilen cevaba göre sorgulama, 'bulunamadı' döndürür eğer çözmek için nasıl? Burada tüm yorum ve cevaplarda her şeyi denedim.
DarkW1nter

28
Bu, Chrome'un toplam çöpüdür. Sizi korkutucu yerel ana bilgisayarınızda keyfi olarak HTTPS'ye zorlamaya başladığında yerel olarak geliştirmemizi nasıl bekliyorlar? Her şeyi aylardır iyi kullandım, bir sabah giriş yapıyorum ve bu saçmalıklarla başa çıkıyorum. Bu "düzeltmelerin" hiçbiri benim için çalışmıyor.
Alison

51
.dev Yerel ana etki alanınız ise , v.63'ün son sürümünden bu yana bunun @Alison'da çalışmadığına inanıyorum ... "Chrome .dev alanlarını önceden yüklenmiş HSTS aracılığıyla HTTPS'ye zorlamak için". Bu nedenle, .dev uygun şekilde imzalanmış SSL sertifikanız yoksa temelde artık çalışmaz. Artık kendinden imzalı sertifikalara izin verilmiyor. Daha fazla ayrıntı .
Trevor

308

Chrome'da da aynı sorunu yaşadım ve BigJump'ın çözümünü başarısız bir şekilde denedim .

Bu blogda gösterildiği gibi (aslında bu SuperUser cevabından) sert bir yenileme zorlayarak sorunumu çözdüm ) .

Adres çubuğunuzun http şemasını kullandığından emin olun ve muhtemelen birkaç kez şu adımları uygulayın:

  1. Geliştirici Araçları panelini açın (CTRL + ÜST KARAKTER + I)
  2. Yeniden yükle simgesini tıklayın ve basılı tutun / Yeniden yükle simgesini sağ tıklayın.
  3. Bir menü açılacaktır.
  4. Bu menüden 3. seçeneği seçin ("Önbelleği ve Sabit Yeniden Yükleme")

3
Ayrıca Sabit
Yükleme

3
Bu çözümü çalıştıramadım. Sorun, localhost: 3000 (benim durumumda) üzerinde sert bir yeniden yükleme yapmasıdır . Yeniden yüklemeden önce protokolü değiştirmeye çalışılıyor, ancak bu çalışmıyor.
john_omalley

1
Teşekkür ederim!!! Bu, orijinal localhost: portunu, startup.cs öğenizi bu durumla karıştırdıysanız ... var options = new RewriteOptions (). app.UseRewriter (seçenekler); }
hubert17

Sabit yeniden yükleme için "CTRL + ÜST KRKT + R" tuşlarına basarak benim için çalıştı.
LP. Gonçalves

Kromda, CTRL + ÜST KRKT + I değil,
Champ

190

YENİ GELİŞMELER! (Chrome 63+ sürümünüz varsa)

Localhost alan adınız .dev daha önce kabul edilen ve çalışan cevapların artık geçerli olmadığını düşünüyorum. Bunun nedeni, Chrome 63'ten itibaren Chrome'un .dev alanlarını önceden yüklenmiş HSTS aracılığıyla HTTPS'ye zorlamasıdır.

Bunun anlamı, .devuygun şekilde imzalanmış SSL sertifikanız yoksa temelde artık çalışmaz - artık kendinden imzalı sertifikalara izin verilmez!Bu blog gönderisinde daha fazla bilgi edinin.

Bu sorunu şimdi düzeltmek ve gelecekte tekrar olmasını önlemek için .testönerilen bir alan adıdır çünkü test / geliştirme amacıyla IETF tarafından ayrılmıştır. .localhostYerel geliştiriciler için de kullanabilmeniz gerekir .


2
Tüm .dev alan adlarını .app olarak değiştirdim, yine de aynı sorun. Sorunun ne olabileceğine dair herhangi bir işaretçi misiniz?
Jeff

5
@Jeff kullanmayı deneyin.test
Vitalii Zurian

18
Bu son derece sinir bozucu. Elbette bizi geliştirme alanımızı değiştirmeye zorlamamanın bir yolu olmalı, değil mi?
Emanuele Ciriachi

5
yerine .devgöre .testChrome 63 de benim için çok çalıştı
Lekhnath

12
Bu sezgisel varsayılanlar korkunçtur. Neden her şey kendi tarafının iyi olduğunu keşfetmek için varsayılan olarak .dev'i HTTPS'ye yönlendiren Google Chrome'dur. Mantık nerede. Neden .dev ve neden diğer TLD (ler) değil? Kesinlikle sezgisel değil.
Meglio

50

Kapalı bindirme Adiyat Mübarek

Sadece https üzerinde ferahlatıcı olduğu gibi sert yenileme olamazdı. Aynı adımlardan bazılarını takip eder.

1. Open chrome developer tools (ctrl + shift + i)
2. Network Tab at the top
3. Click Disable cache checkbox at the top (right under network tab for me).
4. Refresh page (while the developer tools is still open)

Çözüm için ikinci kez buradayım. Çok teşekkürler.
Čamo

1
Bir .local etki alanı kullanıyorum ve yukarıdaki HSTS çözümü yapmadığında bu çalıştı.
DiegoSalazar

BigJump ve Adiyat Mubarak'ın çözümlerini denedikten sonra benim için işe yarayan tek şey bu oldu.
Alek Arsovski

Önbelleği devre dışı bırakmak benim için de gerekliydi. Bu sorun Fiddler'i kapattıktan sonra bana gelmeye başladı.
CounterFlame

47

Aynı sorunla karşı karşıyayım ancak yalnızca Chrome Canary'de ve bu yayını bulduğum bir çözüm arıyor .

Chrome'un sonraki sürümlerinden biri, .dev (ve .foo) ile biten tüm alan adlarını önceden yüklenmiş bir HTTP Sıkı Aktarım Güvenliği (HSTS) üstbilgisi aracılığıyla HTTP'lere yönlendirilmeye zorlayacaktır.

{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },

Bu yüzden alan adlarınızı değiştirin.


2
Buraya çözmek için geldiğim sorun bu . adam şimdi benim yerel dev siteleri için farklı bir sahte tld gelmek lazım ...
matt lohkamp

2
Gönderen wiki , .localbunu diğer TLD'leri daha güvenli olduğunu tahmin olsa biraz kırılgan görünüyor. Ayrıca .localhostkrom kullanımı rproxy çalışmasını engelliyor gibi bazı yerel yönlendirme yapıyor görünüyor coz kullanımını geri çekiyorum. .testTDD / .test()yöntemler vb. kullanılan tüm dizeleri ile isim çatışmaları nedeniyle tıknaz olsa da, en güvenli görünüyor
dwelle

8
Bunda bir gün kaybettim. Çok teşekkürler
Tonio

17
Kahretsin, Chrome 63'e güncelledi ve şimdi bu .dev için beni etkiliyor. O NE LAN. Geçerli bir TLD olup olmadığı umurumda değil, siteme SSL kullanarak ihtiyaç duymam, istemem veya almam, o zaman beni zorlamayın.
dbinott

6
Vay be bu beni kızdırıyor. Bazı geliştirme ortamları için sadece tld'yi değiştirmek kadar basit değildir. Şimdi üzerinde çalıştığım şeyleri değiştirmek için saatlerce çalışıyorum. Gelişmek için kullanmak istediğim şey aslında onların işi değil.
Brett Thomas

18

Chrome 63 (Aralık 2017'den bu yana), .dev (ve .foo) ile biten tüm alan adlarının önceden yüklenmiş bir HTTP Sıkı Aktarım Güvenliği (HSTS) üstbilgisi aracılığıyla HTTPS'ye yönlendirilmesine zorlayacaktır. Bununla ilgili daha fazla bilgiyi burada bulabilirsiniz.


2
^^ Aynen. .appGeçen hafta da alanlarımızı etkiledi . .testBunun uzun vadeli bir çözüm olduğunu düşünmeme rağmen geçici olarak geçiş yapıyoruz.
russellmania

13

dan https://galaxyinternet.us/google-chrome-redirects-localhost-to-https-fix/

Opsiyon düzeltmelerinden hiçbiri benim için çalışmıyor, düzeltmek için https://localhost:3000 yaramadı.

ReloadDüğmeyi tıklayıp basılı tutun ve seçin Empty Cache and Hard Reload, bu yalnızcalocalhost


bu sonunda çalışmıyor. başka bir çözüm var mı?
Raju Paladiya

En son Chrome güncellendi, böylece bu çözüm artık çalışmayacak.
user2167582

1
Geliştirici araç çubuğu açıksa bu, tüm etki alanlarında çalışmalıdır
Hussam

7

Ben de bu sorunla mücadele ediyorum. HSTS'nin sadece alan adları için tasarlandığı anlaşılıyor . Yerel makinede geliştiriyorsanız, IP adresini kullanmak çok daha kolaydır. Bu yüzden localhost'tan 127.0.0.1'e geçtim


Sorun değil, ancak localhost'a her yazışınızda localhost kelimelerini 127.0.0.1 ile değiştirmeyi sağlamak mümkün mü?
Simon

Çok teşekkür ederim
Hedha

6

Sorunun kökenini hiç çözemedim ancak bu sorunu çözebildim. Sorunu çözen Google Chrome uygulama önbellek klasörünü sildim.

C: \ Users [kullanıcılar] \ AppData \ Local \ Google \ Chrome


1
Tüm tarayıcı geçmişini veya şifreleri kaybettiniz mi?
Zapnologica

7
Sorun, HTTPS kullanarak bir alanı ziyaret ettiğinizde Chrome'un depolanması ve daha sonra aynı alanı tekrar ziyaret ederseniz otomatik olarak HTTPS'ye geçmesi gerektiğine inanıyorum. HTTPS kullanarak herhangi bir localhost sitesine eriştiğinizde, aniden tüm locahost siteleri HTTPS'ye yönlendirilir, çünkü bir geliştirici olarak eşek bir acıdır.
Dale K

1
@DaleBurrell Haklı değilsiniz. Buna HSTS neden olur: en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
langpavel

6

Bu, önbelleğe alınmış bir https yönlendirmesinden kaynaklanabilir ve Adiyat Mubarak'ın cevabında olduğu gibi önbelleği manuel olarak temizleyerek düzeltilebilir.

Ancak localhost'u ziyaret ediyorsanız muhtemelen bir geliştiricisiniz, bu durumda "klasik önbellek öldürücü" gibi bir önbellek temizleme krom uzantısı bulacaksınız (bkz. Https://chrome.google.com/webstore/search/classic%20cache % 20killer? Hl = tr ) çeşitli durumlarda yararlıdır ve büyük olasılıkla yüklü bir tane vardır.

Bu yüzden hızlı düzeltme: Bir önbellek katili yükleyin (zaten bir tane yoksa), açın ve sayfayı yeniden yükleyin. Bitti!


Bu sorunu düzeltti
makdu

6

Benim gibi tembel insanlar için tembel ve hızlı bir çözüm (Chrome 67'de çalışıyor).

Gizli Mod'da "Gizli Pencere" seçeneğiyle (CTRL + ÜST KARAKTER + N) başka bir Chrome penceresi açmanız yeterlidir. Önbelleği silmeye gerek yok, derin Chrome ayarlarına dalmaya gerek yok vb.


1
Diğer önerileri ile sorun vardı - muhtemelen aynı anda açık birkaç farklı web sayfaları olması gerekiyordu, hepsi aynı etki alanı ama farklı sunucularda, https kullanarak bu web sunucusunun bazıları, diğerleri düz http. Hakkında "Gizli Pencere" dışında hiçbir şey işe yaramaz!
Klaws

Bu çalışıyor, ancak geçici başlıklar nedeniyle AJAX isteklerimi son derece yavaş hale getiriyor.
Twigs

5

Bunların hiçbiri benim için çalışmadı. Yerel bir URL ile bir krom güncellemesinden (Sürüm 63.0.3239.84, linux) sonra gerçekleşmeye başladı. Ne olursa olsun her zaman https'ye yönlendirirsiniz. Birkaç saat kaybettim ve bu konuda çok sabır

Ne de olsa işe yarayan sadece etki alanını değiştirmekti.

Değeri için, etki alanı .app idi. Belki de yapacak bir şeyleri var? Ve sadece .test olarak değiştirildi ve krom yeniden yönlendirmeyi durdurdu


5

Chrome 79 ile bu sorunu nasıl çözdüm:

Bu URL'yi arama giriş kromunuza yapıştırmanız yeterlidir: // flags / # allow-insecure-localhost

Deneysel özellikleri kullanarak bana yardımcı oldu.



1

Benim durumumda, proje yolumu ayarladım /Users/me/dev/project_root/ve nodeJS/ expressserver'ı oradan çalıştırıyordum . /Users/me/project_root( devProjenin yolundan kaldırma) yolumu yeniden adlandırmak sorunu çözdü.

Büyük olasılıkla bu yeni düzenleme ile ilgili:

Chrome 63 (Aralık 2017'den bu yana), .dev (ve .foo) ile biten tüm alan adlarının önceden yüklenmiş bir HTTP Sıkı Aktarım Güvenliği (HSTS) üstbilgisi aracılığıyla HTTPS'ye yönlendirilmesini zorlayacaktır.

Bununla ilgili daha fazla bilgiyi burada bulabilirsiniz .

Kullanımı:

  • Google Chrome Sürüm 70.0.3538.110 (Resmi Derleme) (64 bit)
  • nodeJS v9.2.0

1

Bunun basit bir çözümü /etc/hostsdosyanızı düzenlemek ve proje başına bir takma ad oluşturmaktır.

127.0.0.1   project1 project2 project3

@Bigjump tarafından belirtilen HSTS yanıtını göndermezseniz ve projeler arasında gidip gelirseniz giriş oturumunuzu korumanın ek avantajıyla bu alan adı içermeyen adlar HSTS ile hiçbir zaman sorun yaşamaz.


0

Chrome'daki ayarlara gidin ve ardından Gelişmiş ayarlar'a gidin, gizlilik ve güvenlik bölümünün altında Tarama verilerini temizle'yi ve ardından tüm verileri temizleyin. Bu adımları izledim ve benim için çalıştı. Umarım bazılarına yardımcı olur.


0

Chrome 63, .dev alanlarını önceden yüklenmiş HSTS aracılığıyla otomatik olarak HTTPS'ye zorlar.
Hızlı düzeltme: .dev alan adlarını .localhost olarak değiştirin.


0

Bu bir çözüm değil, sadece bir çözüm.

  1. Çözüm gezgininde visual studio projenizi (üst seviye) tıklayın ve özellikler penceresine gidin.

  2. SSL Etkin değerini true olarak değiştir. Artık özellikler penceresinde 'SSL URL' olarak başka bir bağlantı noktası numarası göreceksiniz.

  3. Şimdi, uygulamanızı çalıştırdığınızda (veya tarayıcıda görüntülediğinizde), bağlantı noktası numarasını adres çubuğundaki SSL bağlantı noktası numarasına manuel olarak değiştirmeniz gerekir.

Şimdi bir SSL bağlantısı olarak iyi çalışıyor


0

Chrome Developer Tools-> git Network-> seç Disable Cache-> yeniden yükle


-1

Aynı sorunu yaşayan biri için yalnızca tarayıcı önbelleğinin tamamını silmek için CTRL + ÜST KRKT + DELETE tuşlarına basarak çözdüm. Artık localhost web siteme HTTP protokolünden erişebiliyorum.


-2

@ Adiyat Mübarek cevap benim için işe yaramadı. Önbelleği temizlemeye ve yeniden yüklemeye çalıştığımda, sayfa yine de https'ye yönlendiriliyor.

Benim çözümüm: URL çubuğunun sağ üst köşesinde (sık kullanılanlar yıldız simgesinin hemen solunda) içinde "x" bulunan bir simge var. Buna sağ tıklayın ve "güvensiz komut dosyaları" hakkında bir şey söyleyecektir, o zaman bunları yine de yükleme seçeneği vardır. Yap bunu.


Bu seçeneğin adının ne olduğunu veya başka nerede bulabileceğinizi biliyor musunuz? URL çubuğumda kısayolu göremiyorum.
Carolyn Conway

@CarolynConway Ne dediğinden emin değilim. Sadece benim sorunum için görünebilir.
cph2117

-2

Başka bir seçenek, https://github.com/rchampourlier/tunnelss gibi bir şey kullanmak olacaktır.

Tabii başka bir bağımlılık / kurulum ekledi, ancak aynı zamanda güzel olabilir https test dev sağlar.

RVM kullanıyorum ancak tünelleri çalıştırarak kullanmak zorunda kaldım sudo gem install tunnelssvesudo tunnelss


-4

Bugünün en hızlı çözümü (17-3-2018):

Tüm Chrome sekmelerini / pencerelerini kapatın ve komut satırınızda bunu çalıştırın: (veya kısa kod olarak ekleyin)

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.