我有一个应用程序服务器,上面有一些 PHP 代码,需要访问远程 MongoDB 服务器。
为此,我想允许远程访问我的 MongoDB 服务器,但仅限于应用程序服务器 IP。
我知道我需要更改位于 /etc/mongodb.conf
中的 bind_ip
值才能执行此操作。
我将它从 bind_ip=127.0.0.1
更改为 bind_ip=111.222.33.44
(其中 111.222.33.44 是我的应用程序服务器 IP),但它不起作用(我的 PHP代码显示“连接被拒绝”)。但是,如果我将该值设置为 bind_ip=0.0.0.0
,它就会起作用。为什么?我不想让任何人尝试连接到我的 MongoDB 服务器。
最佳答案
bind_ip
告诉 mongod
在哪个 IP 地址上监听传入连接。因此,如果您将其设置为 127.0.0.1
,mongod
将仅在本地主机上监听,反之亦然 - 您只能在同一台机器上连接。
当设置为不同的IP地址时,每个能够与该IP通信的主机都可以连接到MongoDB。
为了确保只有您的应用程序服务器可以与您的 MongoDB 实例通信,您需要在运行 MongoDB 的服务器上或它前面的某处配置防火墙。
关于linux - 允许特定 IP 的 MongoDB 远程访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632409/