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

2023-12-30

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

Setting 0.0.0.0 to bind_ip可行,但我想更加严格,只允许某些 IP 地址进行连接。我附加了66.31.123.123 to the bind_iplist 但 mongodb 抛出以下错误:

mongodb.conf

bind_ip = 127.0.0.1,66.31.123.123
port = 27017

auth = true

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

问题:为什么添加外部ip不起作用?如果auth=true使用过,使用起来是否足够安全0.0.0.0 as the bind_ip? mongodb 将从 Meteor.js 应用程序本地访问。


正如guido所说,bind_ip是mongo服务器自己的IP地址。

身份验证是个好主意,但仅依赖身份验证会让您面临暴力攻击。

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

另一个问题是您的 Meteor 服务器与您的 mongo 服务器的接近程度 - 是在专用网络上还是跨公共网络。如果是公开的,您应该重新编译 mongodb 以支持 SSL http://www.mongodb.org/about/tutorial/build-mongodb-on-linux/,或者你应该通过 SSH 建立 mongodb 连接隧道 https://stackoverflow.com/questions/15983795/how-do-i-establish-a-bidirectional-ssh-tunnel.

如果您决定使用隧道,请将_ip绑定到127.0.0.1并忽略传入的27017。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐