代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

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

  •  6
  • nonopolarity  · 技术社区  · 14 年前

    似乎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似乎可以让同一台机器上的虚拟PC访问该网站,而127.0.0.1则不能。

    但是,如果它只是同一个笔记本,使用localhost:3000(对于rails),那么它就不重要了。但无论哪种情况,0.0.0.0:3000都不起作用。

    它是如何工作的?使用0.0.0.0对127.0.0.1对192.168.1.2有什么意义?

    3 回复  |  直到 14 年前
        1
  •  16
  •   Dan    14 年前

    绑定到0.0.0.0意味着监听所有接口。

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

        2
  •  1
  •   Delan Azabani    14 年前

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

        3
  •  1
  •   mway    14 年前

    如果在127.0.0.1上启动服务器,则它只在本地主机上侦听;如果在0.0.0.0上启动服务器,则它在任何IP上侦听(如本地IP)。

    对于本地开发人员来说,这是很好的——否则,除了本地机器之外,没有人能够看到它。