web-dev-qa-db-fra.com

A propos de IP 0.0.0.0 IN Django

Nous avons un serveur sur lequel nous exécutons un fichier Django site alimenté. Puisque nous voulons tester le site, nous utilisons le serveur de développement de Django (c.-à-d. runserver). Mais je suis curieux de la propriété intellectuelle de la commande suivante:

python manage.py runserver 0.0.0.0:80

Il en résulte un site en cours d'exécution que nous pouvons visiter à l'aide de la propriété intellectuelle du serveur.
[.____] mais quand vous utilisez 127.0.0.1 au lieu:

python manage.py runserver 127.0.0.1:80

Personne ne peut visiter le site avec l'adresse IP de Sever d'un autre PC.

Alors pourquoi? Que fait 0.0.0.0 signifie exactement (Google dit que c'est la voie par défaut)? Pourquoi ne peut pas 127.0.0.1:80 être consulté à distance?

42
Zhu Tao

0.0.0.0:80 est un raccourci signification "Lier à toutes les adresses IP de cet ordinateur prend en charge". 127.0.0.1:80 Cela ne lie que l'interface "lo" ou "bouclage". Si vous n'avez qu'une seule CARTE RÉSEAU avec une seule adresse IP, vous pouvez le lier explicitement avec, disons, 192.168.1.1:80 (si 192.168.1.1 Était votre adresse IP), ou vous pouvez répertorier tout l'IPS que votre ordinateur réagit, mais 0.0.0.0:80 est un raccourci pour cela.

54
Paul Tomblin

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

10
Brian Campbell

127.0.0.1 est la propriété intellectuelle locale (LOPBACK), pas l'IP de cet ordinateur sur le réseau. Pour accéder à un serveur sur le réseau, vous devez connaître son 'IP du réseau

2
Adam Hopkinson