2010-09-12 35 views
5

看來,Rails和Django的既可以啓動服務器綁定到一個IP,無論是啓動服務器綁定到0.0.0.0和127.0.0.1之間有什麼區別?

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

有其他的選擇嗎?看來0.0.0.0和192.168.1.2可以讓虛擬PC在同一臺機器上訪問這個網站,而127.0.0.1不能。

但是,如果它只是相同的筆記本,使用localhost:3000(對於Rails),那麼它並不重要。但是無論如何,0.0.0.0:3000都不行。

它是如何工作的?使用0.0.0.0 vs 127.0.0.1 vs 192.168.1.2有什麼意義?

+0

首先,虛擬機將「127.0.0.1」解釋爲引用虛擬機。不過,不確定'0.0.0.0'的神奇之處在於它的表現。 – Matchu 2010-09-12 02:00:53

+0

不特定於rails:http://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1 – 2010-09-12 02:03:01

回答

16

綁定到0.0.0.0表示偵聽所有接口。

綁定到127.0.0.1表示偵聽回送接口。

1

0.0.0.0綁定到所有IP地址。任何其他地址綁定到該特定接口。

1

如果你在127.0.0.1上啓動服務器,它只能在localhost上監聽;如果你在0.0.0.0上啓動它,它會監聽任何IP(例如你的本地IP)。

對於本地開發者來說,這很好 - 但除此之外,沒有人能在本地機器上看到它。

相關問題