Question Google Chrome redirige localhost vers https


Lorsque je débogue un projet Visual Studio à l'aide de Chrome, le navigateur tente de rediriger vers l'équivalent https de mon adresse Web. Je n'ai pas SSL activé dans le projet Web et l'URL de début est l'URL http. Lorsque je débogue avec FireFox ou IE, je n'ai pas ce problème.

J'ai réinstallé Chrome qui a corrigé le problème pour une journée. Sans téléchargement d’addons, le problème est revenu le lendemain.

Qu'est-ce qui fait que Chrome redirige localhost vers https?

Inspections réseau: URL de la demande: data: text / html, chromewebdata En-têtes de demande Les en-têtes provisoires sont affichés Agent utilisateur: Mozilla / 5.0 (Windows NT 6.3; WOW64) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 36.0.1985.143 Safari / 537.36

Aucun aperçu et aucune donnée de réponse dans ces onglets.


225
2017-08-13 03:14


origine


Réponses:


Je crois que cela est causé par HSTS - voir http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

Si vous avez (développé) d'autres sites localhost qui envoient un en-tête HSTS ...

par exemple. Strict-Transport-Security: max-age = 31536000; includeSubDomains; précharge

... alors en fonction de la valeur de max-age, les futures requêtes à localhost devront être traitées via HTTPS.

Pour contourner cela, j'ai fait ce qui suit.

  • Dans la barre d'adresse Chrome, tapez "chrome: // net-internals / # hsts"
  • Tout en bas d'une page se trouve la zone de texte du domaine QUERY - vérifiez que localhost est connu du navigateur. S'il est dit "non trouvé", ce n'est pas la réponse que vous recherchez.
  • Si c'est le cas, SUPPRIMEZ le domaine localhost en utilisant la zone de texte ci-dessus
  • Votre site devrait maintenant fonctionner avec du vieux HTTP simple

Ce n'est pas une solution permanente, mais au moins le fera fonctionner entre les projets. Si quelqu'un sait comment exclure de manière permanente localhost de la liste HSTS, faites le moi savoir :)

MISE À JOUR - novembre 2017

Chrome a récemment déplacé ce paramètre pour s'asseoir sous Supprimer les stratégies de sécurité du domaine

enter image description here

MISE À JOUR - décembre 2017 Si vous utilisez le domaine .dev, consultez les autres réponses ci-dessous car Chrome (et d'autres) forcent HTTPS via le HSTS préchargé.


348
2018-02-18 14:56



J'ai connu le même problème dans Chrome et j'ai essayé sans succès d'utiliser La solution de BigJump.

J'ai corrigé mon problème en forçant un rafraîchissement, comme indiqué dans cette image. Blog (à l'origine de cette SuperUser réponse).

Assurez-vous que votre barre d'adresse utilise le schéma http, puis effectuez ces étapes, éventuellement deux ou trois fois:

  1. Ouvrez le panneau des outils de développement (CTRL + MAJ + I)
  2. Cliquez et maintenez l'icône de rechargement / cliquez avec le bouton droit sur l'icône de rechargement.
  3. Un menu s'ouvrira.
  4. Choisissez la 3ème option dans ce menu ("Cache vide et rechargement dur")

205
2017-10-15 03:40



NOUVEAUX DÉVELOPPEMENTS! (si vous avez Chrome 63+)

Si votre domaine localhost est .dev alors je ne pense pas que les réponses précédemment acceptées et les réponses de travail ne s'appliquent plus. En effet, à partir du Chrome 63 Chrome, les domaines .dev seront forcés à HTTPS via le HSTS préchargé.

Qu'est-ce que cela signifie, .dev En gros, cela ne fonctionnera plus du tout, sauf si vous avez un certificat SSL signé - plus aucun certificat auto-signé n'est autorisé! En savoir plus sur ce blog

Donc, pour résoudre ce problème maintenant et pour éviter que cela se reproduise à l'avenir .test est un domaine recommandé car il est réservé par l'IETF à des fins de test / dev. Vous devriez également pouvoir utiliser .localhost pour dev local


160
2017-12-10 22:41



Je suis confronté au même problème mais seulement dans Chrome Canary et chercher une solution que j'ai trouvé ce post.

L'une des prochaines versions de Chrome va forcer tous les domaines se terminant par .dev (et .foo) à être redirigés vers HTTP via un en-tête HTTP Strict Transport Security préchargé.

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

Alors, changez vos domaines.


47
2017-09-19 14:45



Piggybacking off Adiyat Mubarak

Impossible de rafraichir car il était juste rafraîchissant sur https. Suit certaines des mêmes étapes.

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)

25
2018-04-11 19:37



Chrome 63 (sorti depuis décembre 2017), forcera tous les domaines se terminant par .dev (et .foo) à être redirigés vers HTTPS via un en-tête HTTP Strict Transport Security (HSTS) préchargé. Vous pouvez trouver plus d'informations à ce sujet ici.


17
2017-12-13 06:33



Je n'ai jamais compris la racine du problème mais j'ai pu résoudre ce problème. J'ai supprimé le dossier de cache de l'application Google Chrome qui a résolu le problème.

C: \ Utilisateurs [utilisateurs] \ AppData \ Local \ Google \ Chrome


5
2017-08-22 19:26



J'ai également lutté avec ce problème. Il semble que HSTS est destiné uniquement aux noms de domaine. Donc, si vous développez dans la machine locale, il est beaucoup plus facile d'utiliser l'adresse IP. Donc je suis passé de localhost à 127.0.0.1


5
2017-12-11 09:59