Connexion à localhost impossible

Je visualise un site web hébergé localement. Je peux le voir via http://localhost:9000/ ou http://127.0.0.1:9000/, mais pas via http://10.10.10.10:9000/.

10.10.10.10 est mon adresse IP locale (dans ifconfig ou System Preferences), mais je ne peux pas accéder à mon contenu hébergé localement à http://10.10.10.10:9000/, que ce soit à partir de l’appareil qui l’héberge ou à partir d’autres appareils sur le réseau.

Je n’ai jamais eu de problème à utiliser mon adresse IP locale pour accéder à des sites hébergés localement lorsque mon ordinateur se trouve sur d’autres réseaux, seulement sur mon réseau domestique. Avez-vous une idée de ce qu’il faut changer ?

Si vous pouvez accéder à un serveur tournant sur votre propre machine via 127.0.0.1 (ou localhost) mais pas via l’adresse IP de l’ordinateur, cela signifie que le logiciel du serveur est configuré pour écouter uniquement sur l’interface localhost. C’est un élément de configuration et pour éviter d’exposer un serveur potentiellement non sécurisé, de nombreux programmes de serveur sont préconfigurés pour écouter uniquement sur localhost. De cette façon, vous pouvez tester localement en toute sécurité avant d’exposer le serveur.

Notez que 0.0.0.0 signifie « écouter sur toutes les interfaces présentes sur cet ordinateur », ce qui est pratique, mais peut causer des problèmes de sécurité si la machine a plusieurs interfaces.

Si vous utilisez Python 3.8, il s’agit d’un bug connu. La solution est de spécifier manuellement l’adresse IP avec l’argument -bind ou d’utiliser Python 3.9.

python -m http.server 8000 --bind 127.0.0.1  #(ou `0.0.0.0`, `<insérez-votre-ip-ici>`)