大家怎么看呢
127.0.0.1 是本地 localhost 是一个写死的 DNS 记录,你看 /etc/hosts 0.0.0.0 表示无路由目标,有些应用把绑定这个的设置,认为是绑定全部本地 IP。类似于一些设置中,设为 0 就相当于该项设置无限制。
127.0.0.1 好过 0.0.0.0
本地 development 服务器来说,只要你不是拿着笔记本在公共 wifi 上开发,并且不在意别人访问你的 500 错误信息,没啥问题。
服务器来说,只要你不直接用 WEBrick 来做服务器,没啥问题。
可以睡觉了。
先说结论:127.0.0.1
使用在开发环境,0.0.0.0
使用在发布环境。
原因分析:
每个主机都可能有多个 ip 地址,比如多个网卡或多 ip, 127.0.0.1
是本地环回地址,专供自己访问自己,速度大 ( 不用经过整个协议栈 ), 所以用在开发环境合适。
正如主机可能有多个 ip 地址,所以 0.0.0.0
是一个特指本机所有 ip 地址都绑定,这样,适用于发布环境,否则你只能绑定在类似 106.88.0.22
之类的地址上,你的发布脚本就不美观了。
localhost
只是 127.0.0.1
的别名,至于 ipv6 之类的在这里毫无影响,可以忽略。
0.0.0.0 是针对如果机器的 IP 变了,而不用改代码或是配置 用 0.0.0.0 不是好习惯,尤其对于线上服务器多网卡机器. 127.0.0.1 是本地回路,大部分是测试用的 localhost 只是在 etc/hosts 里给 127.0.0.1 做了一个 IP-->NAME 的映射 当然你也可以自定义一个映射.eg: 127.0.0.1 xxxxxx x.x.x.x name 如果是本机访问的话,还是建议用 localhost, linux/win 系统都默认映射了 如果是跨机器的话还是直接用网口的具体 IP 吧