2010-09-12 10 views
5

Wydaje się, że Rails i Django można uruchomić zarówno wiązania do adresu IP serwera, alboJaka jest różnica między rozpoczęciem wiązania serwera do wersji 0.0.0.0 a 127.0.0.1?

0.0.0.0, 127.0.0.1, or 192.168.1.2 <-- the last one is my local IP 

są jakieś inne możliwości? Wygląda na to, że 0.0.0.0 i 192.168.1.2 mogą pozwolić Virtual PC na tym samym komputerze na dostęp do tej strony, podczas gdy 127.0.0.1 nie może.

Jeśli jednak jest to ten sam notes, przy użyciu localhost: 3000 (dla szyn), to nie ma znaczenia. Ale w obu przypadkach, 0.0.0.0: 3000 nie zadziała.

Jak to działa? Jakie są znaczenia użycia 0.0.0.0 vs 127.0.0.1 vs 192.168.1.2?

+0

Po pierwsze, "127.0.0.1" jest interpretowany przez maszynę wirtualną jako odnoszący się do maszyny wirtualnej. Nie wiem jednak, czym jest magia "0.0.0.0", która sprawia, że ​​zachowuje się inaczej. – Matchu

+0

Nie dotyczy tylko szyn: http://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1 –

Odpowiedz

16

Wiązanie z 0.0.0.0 oznacza słuchanie wszystkich interfejsów.

Powiązanie z 127.0.0.1 oznacza odsłuch interfejsu pętli zwrotnej.

1

0.0.0.0 łączy się ze wszystkimi adresami IP. Każdy inny adres wiąże się z tym konkretnym interfejsem.

1

Jeśli uruchomisz serwer w wersji 127.0.0.1, będzie to tylko nasłuch na localhost; jeśli uruchomisz go w wersji 0.0.0.0, nasłuchuje na dowolnym IP (np. Twój lokalny adres IP).

Dla lokalnego dewelopera jest to w porządku - ale poza tym nikt oprócz lokalnego komputera nie będzie w stanie go zobaczyć.

Powiązane problemy