Pergunta

Nós temos um servidor sobre o qual nós estamos executando um site alimentado Django. Desde que nós queremos testar o site, estamos usando de Django build-in servidor de desenvolvimento (isto é, runserver). Mas estou curioso sobre o ip do seguinte comando:

python manage.py runserver 0.0.0.0:80

Isso resulta em um site em execução que pode visitar usando ip do servidor remotamente.
Mas ao usar 127.0.0.1 vez:

python manage.py runserver 127.0.0.1:80

Ninguém pode visitar o site com ip do Sever de outro pc.

Então, por quê? O que faz 0.0.0.0 exatamente meios (Google diz que é a rota padrão)? Por que não pode 127.0.0.1:80 ser acessado remotamente?

Foi útil?

Solução

0.0.0.0:80 é um atalho que significa "ligar a todos os endereços IP Este computador suporta". 127.0.0.1:80 torna ligam apenas para o "lo" interface ou "auto-retorno". Se você tiver apenas um NIC com apenas um endereço IP, você poderia ligar para ele explicitamente com, digamos , 192.168.1.1:80 (se 192.168.1.1 foi o seu endereço IP), ou você pode listar todos os IPs seus responde computador, mas 0.0.0.0:80 é um atalho para isso.

Outras dicas

127.0.0.1 é o auto-retorno de interface , também conhecido como localhost; este é um endereço que só é acessível a partir do mesmo computador, como nada realmente se passa através da rede. 0.0.0.0 significa "escutar em todas as interfaces", e, portanto, irá ouvir as conexões em todos os endereços IP que a máquina tem (provavelmente apenas um).

127.0.0.1 é o (loopback) ip local, não o IP do computador na rede. Para aceder a um servidor através da rede, você precisa saber a sua rede IP

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top