web-dev-qa-db-fra.com

Comment exclure définitivement localhost de la liste HSTS dans Google Chrome

Il s'agit d'une question de suivi pour Google Chrome rediriger localhost vers https .

Quelqu'un sait-il comment exclure définitivement localhost de la liste HSTS dans Google Chrome?

Ou, toute autre solution élégante qui n'obligerait pas le développeur à visiter chrome://net-internals/#hsts et supprimer localhost à chaque fois que vous passez du travail sur un projet HTTPS à un autre projet sur HTTP?

22
Bugs Bunny

Mise à jour:

Vous pouvez installer un certificat SSL approprié pour ces domaines si vous le souhaitez gratuitement, de sorte que vous n'aurez pas besoin de jouer avec HSTS. Jetez un oeil ici .


Vous pouvez modifier le fichier d'hôtes de votre système:

  • Sous Windows: C:\Windows\System32\drivers\etc\hosts
  • Sous Linux: /ets/hosts

Vous pouvez y définir un domaine différent pour chaque projet:

 127.0.0.1    project1.local
 127.0.0.1    project2.local
 127.0.0.1    projectN.local

Remarque: j'utilise des domaines * .local (vous pouvez utiliser pratiquement n'importe quoi) car vous avez déjà défini localhost pour rediriger vers https, et nous devons donc utiliser un domaine différent. Bien que je vous recommande fortement d'installer un vrai certificat SSL et de réinitialiser par défaut toutes les modifications que vous avez apportées à HSTS.

Une fois enregistré, lorsque vous accédez à ces domaines dans n'importe quel navigateur, il se charge à partir de 127.0.0.1 (localhost). Si vous utilisez Apache/nginx comme serveur, vous pouvez également définir VirtualHosts pour chaque domaine afin que vous n'ayez pas besoin de changer votre dossier httpd chaque fois que vous changez de projet.

Ensuite, bien sûr, vous devrez réémettre tout certificat que vous pourriez avoir pour ces projets pour les nouveaux domaines, mais ceux-ci seraient uniques pour chaque projet. Et sur Chrome vous n'auriez pas besoin de salir net-internals plus d'une fois pour chaque domaine pour les projets pour lesquels vous n'avez pas de certificat (et 0 fois pour ceux avec certificat).

11
emiliopedrollo

Vous pouvez suivre la solution ici .

Lorsque Google Chrome continue de rediriger l'URL de votre hôte local depuis http://localhost à https://localhost, procédez comme suit:

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

Pas un correctif permanent (un problème de sécurité peut être impliqué)

J'ai trouvé un "correctif". Quelque chose d'intéressant, mais qui ne peut pas être un correctif permanent car il peut entraîner plusieurs problèmes de sécurité.

Voici ce que j'ai fait:

  1. Ouvrez Google Chrome
  2. Dans la barre de recherche, saisissez chrome://flags/#allow-insecure-localhost
  3. Activée Allow invalid certificates for resources loaded from localhost.

Si vous rechargez votre application, l'avertissement devrait disparaître.

PS J'ai fait ça parce que j'avais besoin de recréer une certification mais je n'ai pas eu le temps. Voilà pourquoi je l'ai fait. Je désactiverai cela lorsque ma certification fonctionnera localement.

1
yanckst

Chrome 78 prend en charge une stratégie appelée HSTSPolicyBypassList . Vous pouvez répertorier "localhost" comme domaine pour contourner HSTS. Pour configurer la politique Chrome sous Linux, il suffit de créer un fichier sur /etc/opt/chrome/policies/managed/policies.json avec le contenu suivant:

{
    "HSTSPolicyBypassList": [
        "localhost"
        ]
}

Vous pouvez voir les politiques chargées par Chrome, en tapant chrome: // politique/à la barre d'adresse.

0
marciowb