561 Stimmen

Google Chrome leitet localhost auf https um

Wenn ich ein Visual Studio-Projekt mit Chrome debugge, versucht der Browser, zur https-Äquivalent meiner Webadresse umzuleiten. In meinem Web-Projekt ist SSL nicht aktiviert und die Start-URL ist die http-URL. Bei der Fehlersuche mit FireFox oder IE tritt dieses Problem nicht auf.

Ich habe Chrome neu installiert, was das Problem für einen Tag behoben hat. Ohne Addons herunterzuladen trat das Problem am nächsten Tag erneut auf.

Was veranlasst Chrome dazu, localhost auf https umzuleiten?

Netzwerk-Inspektion zeigt: Angeforderte URL:data:text/html,chromewebdata Angeforderte Header: Vorläufige Header werden angezeigt User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36

Keine Vorschau und keine Antwortdaten in diesen Tabs.

961voto

BigJump Punkte 14102

Ich glaube, dass dies durch HSTS verursacht wird - siehe http://de.wikipedia.org/wiki/HTTP_Strict_Transport_Security

Wenn Sie (entwickelt haben) andere lokale Websites, die einen HSTS-Header senden ...

z.B. Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

...dann müssen zukünftige Anfragen an localhost basierend auf dem Wert von max-age über HTTPS bedient werden.

Um dies zu umgehen, habe ich folgendes gemacht.

  • Geben Sie in der Chrome Adressleiste Folgendes ein:

    chrome://net-internals/#hsts

  • Am unteren Rand einer Seite befindet sich das Abfrage-Domänen-Textfeld - überprüfen Sie, ob localhost dem Browser bekannt ist. Wenn dort "Nicht gefunden" steht, ist dies nicht die Antwort, die Sie suchen.

  • Wenn ja, LÖSCHEN Sie die localhost-Domäne mithilfe des obigen Textfelds

  • Ihre Website sollte jetzt mit dem einfachen alten HTTP funktionieren

Dies ist keine dauerhafte Lösung, aber es wird zumindest zwischen Projekten funktionieren. Wenn jemand weiß, wie man localhost dauerhaft aus der HSTS-Liste ausschließen kann, lassen Sie es mich bitte wissen :)


UPDATE - November 2017

Chrome hat diese Einstellung kürzlich in den Abschnitt verschoben

Sicherheitsrichtlinien für Domänen löschen

enter image description here


UPDATE - Dezember 2017

Wenn Sie die .dev-Domäne verwenden, sehen Sie sich die anderen Antworten unten an, da Chrome (und andere) HTTPS über vorab geladenes HSTS erzwingen.

422voto

Adiyat Mubarak Punkte 9852

Ich hatte dasselbe Problem in Chrome und habe erfolglos versucht, BigJump's Lösung zu verwenden.

Ich habe mein Problem behoben, indem ich einen erzwungenen Neuladen erzwungen habe, wie in diesem Blog gezeigt wird (ursprünglich von dieser SuperUser-Antwort).

Stellen Sie sicher, dass Ihre Adressleiste das http-Schema verwendet, und gehen Sie dann durch diese Schritte, möglicherweise ein paar Mal:

  1. Öffnen Sie das Entwicklertools-Panel (STRG+SHIFT+I)
  2. Klicken und halten Sie das Neuladen-Symbol / Rechtsklicken Sie auf das Neuladen-Symbol.
  3. Ein Menü wird geöffnet.
  4. Wählen Sie die 3. Option aus diesem Menü aus ("Cache leeren und hart neu laden")

216voto

Trevor Punkte 2481

NEUE ENTWICKLUNGEN! (falls Sie Chrome 63+ haben)

Wenn Ihre lokale Domain .dev ist, glaube ich nicht, dass die zuvor akzeptierte Antwort funktioniert. Der Grund dafür ist, dass Chrome seit Version 63 .dev-Domains über vorinstalliertes HSTS erzwingen wird.

Was das bedeutet ist, dass .dev im Grunde genommen überhaupt nicht mehr funktioniert, es sei denn, Sie haben ein ordnungsgemäß signiertes SSL-Zertifikat - keine selbstsignierten Zertifikate mehr erlaubt! Erfahren Sie mehr in diesem Blog-Beitrag.

Um dieses Problem jetzt zu beheben und zu vermeiden, dass es in Zukunft erneut auftritt, ist .test eine empfohlene Domain, da sie von der IETF für Test- / Entwicklungszecke reserviert ist. Sie sollten auch .localhost für lokale Entwicklungszwecke nutzen können.

102voto

Steven Johnston Punkte 1564

Aufbauend auf Adiyat Mubarak

Konnte nicht hart aktualisieren, da es nur auf https aktualisiert wurde. Folgt einigen der gleichen Schritte.

1. Öffnen Sie die Chrome-Entwicklertools (Strg + Umschalt + i)
2. Registerkarte Netzwerk oben
3. Klicken Sie auf das Kontrollkästchen Cache deaktivieren oben (direkt unter der Netzwerregisterkarte für mich).
4. Aktualisieren Sie die Seite (während die Entwicklertools noch geöffnet sind)

50voto

tayfun Kılıç Punkte 757

Gehen Sie zu

chrome://net-internals/#hsts 

Geben Sie localhost unter "Domain-Sicherheitsrichtlinien löschen" ein und drücken Sie die Löschen-Taste.

Gehen Sie jetzt zu

chrome://settings/clearBrowserData 

Markieren Sie das Kästchen "Gespeicherte Bilder und Dateien" und klicken Sie auf die Schaltfläche "Daten löschen".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X