MongoDB bind_ip错误:bind()失败错误号:99无法为套接字分配请求的地址

Nyx*_*nyx 17 ubuntu mongodb node.js meteor

我想配置mongodb以允许来自外部ip地址的远程连接66.31.123.123.

设置0.0.0.0bind_ip作品,但我想更严格,只允许特定的IP地址进行连接.我附加66.31.123.123bind_ip列表但mongodb抛出以下错误:

mongodb.conf

bind_ip = 127.0.0.1,66.31.123.123
port = 27017

auth = true
Run Code Online (Sandbox Code Playgroud)

mongodb日志

Mon Dec  9 03:25:59 [initandlisten] ERROR: listen(): bind() failed errno:99 Cannot assign requested address for socket: 66.31.123.123:27017
Run Code Online (Sandbox Code Playgroud)

问题:为什么添加外部IP不起作用?如果auth=true使用,确实使得它足够安全使用0.0.0.0bind_ip?mongodb将在Meteor.js应用程序中进行本地访问.

emg*_*gee 18

正如guido所说,bind_ip用于mongo服务器自己的IP地址.

Auth是一个好主意,但只依靠auth打开你的暴力攻击.

您可以 bind_ip = 0.0.0.0使用防火墙来阻止到端口27017的所有传入连接,除非来自66.31.123.123.

另一个问题是您的流星服务器与您的mongo服务器的接近程度 - 它是在专用网络上还是在公共网络上.如果跨公共,您应该重新编译mongodb以支持SSL,或者您应该通过SSH隧道您的mongodb连接.

如果您决定隧道,请将bind_ip绑定到127.0.0.1并忽略传入27017.