Question

Nous avons un serveur sur lequel nous exécutons un site propulsé par Django. Puisque nous voulons tester le site, nous utilisons le serveur de développement intégré de Django (i.e runserver ). Mais je suis curieux de connaître l'adresse IP de la commande suivante:

python manage.py runserver 0.0.0.0:80

Il en résulte un site actif que nous pouvons visiter à l'aide de l'adresse IP du serveur à distance.
Mais lorsque vous utilisez 127.0.0.1 à la place:

python manage.py runserver 127.0.0.1:80

Personne ne peut visiter le site avec l'adresse IP du serveur d'un autre ordinateur.

Alors pourquoi? Que signifie 0.0.0.0 exactement (Google dit que c'est la route par défaut)? Pourquoi l'accès à distance à 127.0.0.1:80 est-il impossible?

Était-ce utile?

La solution

0.0.0.0:80 est un raccourci qui signifie "liaison à toutes les adresses IP prises en charge par cet ordinateur". 127.0.0.1:80 le lie uniquement au & lo; lo " ou " loopback " interface. Si vous ne possédez qu'une carte réseau avec une seule adresse IP, vous pouvez la lier explicitement avec, par exemple , 192.168.1.1:80 (si votre adresse IP est 192.168.1.1 ), ou vous pouvez répertorier toutes les adresses IP auxquelles votre ordinateur répond, mais 0.0.0.0 : 80 est un raccourci pour cela.

Autres conseils

127.0.0.1 est la interface de bouclage , également appelée localhost ; Il s'agit d'une adresse accessible uniquement à partir du même ordinateur, car rien ne passe réellement sur le réseau. 0.0.0.0 signifie "écouter sur toutes les interfaces", et écoutera donc les connexions sur toutes les adresses IP de la machine (probablement une seule).

127.0.0.1 est l'adresse IP locale (boucle), pas l'adresse IP de cet ordinateur sur le réseau. Pour accéder à un serveur sur le réseau, vous devez connaître son adresse IP réseau

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top