启动服务器绑定到0.0.0.0和127.0.0.1之间有什么区别?

时间:2010-09-12 01:58:54

标签: ruby-on-rails django webserver

似乎Rails和Django都可以启动绑定到IP的服务器

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可以让同一台机器上的Virtual 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是什么意思?

3 个答案:

答案 0 :(得分:16)

绑定到0.0.0.0表示侦听所有接口。

绑定到127.0.0.1意味着监听环回接口。

答案 1 :(得分:1)

0.0.0.0绑定到所有IP地址。任何其他地址都绑定到该特定接口。

答案 2 :(得分:1)

如果你在127.0.0.1上启动服务器,它只会监听localhost;如果你在0.0.0.0上启动它,它会监听任何IP(例如你的本地IP)。

对于本地开发者来说,这很好 - 但除此之外,没有人能够看到本地机器。