认识127.0.0.1和0.0.0.0
启动WEB服务时需要绑定IP,日常开发,我们往往这么做,填写0.0.0.0或者127.0.0.1。都work,但两者是不同的,这里总结下两者的不同及注意事项
如下为ExpressJS的一段代码
1 | app.listen(conf.server.port, '0.0.0.0', function () { |
127.0.0.1
该地址为环回IP地址,假如服务绑定该地址,那么使用外网IP,或局域网IP都是不可访问的。
假如把机器网断了,当执行ping命令时是有返回的,原因是该地址并不会真的走网卡发送请求出去
当绑定该地址时,访问的话,经常也会使用localhost,但严格来说两者并不对等,因为1个是IP地址,另一个是域名,查看hosts文件也会发现一般会有
127.0.0.1 localhost
,之所以可以使用localhost,原因在这里
0.0.0.0
- 该地址表示本机的所有地址,局域网/外网,所以当绑定时,使用哪个地址都可以正常访问。
写在最后
综上,在配置绑定IP时,需要考虑安全性,从而决定选择哪种配置。只是内部访问就不要配置0.0.0.0