Pregunta

Tenemos un servidor en el que estamos ejecutando un sitio con Django. Como queremos probar el sitio, estamos usando el servidor de desarrollo incorporado de Django (es decir, runserver ). Pero tengo curiosidad por la ip del siguiente comando:

python manage.py runserver 0.0.0.0:80

Resulta en un sitio en ejecución que podemos visitar usando la IP del servidor de forma remota.
Pero al usar 127.0.0.1 en su lugar:

python manage.py runserver 127.0.0.1:80

Nadie puede visitar el sitio con la dirección IP del servidor desde otra PC.

Entonces, ¿por qué? ¿Qué significa exactamente 0.0.0.0 (Google dice que es la ruta predeterminada)? ¿Por qué no se puede acceder de forma remota a 127.0.0.1:80 ?

¿Fue útil?

Solución

0.0.0.0:80 es un acceso directo que significa "enlazar" a todas las direcciones IP que admite esta computadora " ;. 127.0.0.1:80 hace que se enlace solo con " lo " o " loopback " interfaz. Si solo tiene una NIC con una sola dirección IP, puede vincularlo explícitamente con, digamos , 192.168.1.1:80 (si 192.168.1.1 fuera su dirección de IP), o puede enumerar todas las IP a las que responde su computadora, pero 0.0.0.0 : 80 es un atajo para eso.

Otros consejos

127.0.0.1 es la interfaz de bucle de retorno , también conocida como localhost ; esta es una dirección a la que solo se puede acceder desde la misma computadora, ya que nada pasa por la red. 0.0.0.0 significa "escuchar en todas las interfaces" y, por lo tanto, escuchará las conexiones en todas las direcciones IP que tenga la máquina (probablemente solo una).

127.0.0.1 es la ip local (loopback), no la ip de esa computadora en la red. Para acceder a un servidor a través de la red, deberá conocer su 'ip de red

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top