bind/绑定的含义,这里是说服务监听端口的绑定,而不是你从外网访问时的IP绑定身份验证。服务监听端口的绑定,必须在本机(系统范围)内的网络IP上,所以你绑定主机外网IP和你客户端IP是不行的,会报错。
netstat -pano | grep 27017
正确的问题
问:关于bindIP,我的理解是:将mongo服务启动到对应的IP地址上。
那既然如此,如果我设置bindIP: 127.0.0.1 就是启动到本地,那为什么别的主机就没法访问呢?如果我设置成bindIP: 0.0.0.0 又是什么含义呢?如果我要限制别的IP访问,只能通过防火墙等其他方式而非 bindIP?
答:最基本的 TCP/IP 里 Socket(套接字)五元组概念,这个了解吗?不了解的话说明上学的时候没好好听课。
bind 指定的是其中二元,即本机地址和本机端口。一台主机可以有多个 IP 地址,多个网卡的且不提,单个网卡的还分别有 127.0.0.1(即回环地址)、子网地址(如同时处在多个子网下则子网地址也不唯一)、公网地址。
0.0.0.0 实际等效于通配符 *,代表任意地址。
修改 bind 即代表对五元组做出限制。
获取这里取名 listen,更为贴切。
希望能解决您碰到的问题,有问题可以随时留言区与我联系。