我有一个带有一些PHP代码的应用服务器,需要访问远程MongoDB服务器。
为了做到这一点,我想允许在我的MongoDB服务器上进行远程访问,但仅限于应用程序服务器IP。
我了解我需要更改位于bind_ip
的{{1}}值才能执行此操作。
我将它从/etc/mongodb.conf
更改为bind_ip=127.0.0.1
(其中111.222.33.44是我的应用程序服务器IP),但它不起作用(我的PHP代码显示“连接被拒绝”)。但是,如果我将值设置为bind_ip=111.222.33.44
,则可以正常工作。为什么?我不想让任何人尝试连接我的MongoDB服务器。
答案 0 :(得分:2)
bind_ip
告诉mongod
要监听哪些IP地址的传入连接。因此,如果将其设置为127.0.0.1
,则mongod
将仅侦听localhost,反之亦然 - 您只能在同一台计算机上进行连接。
当将其设置为不同的IP地址时,每个能够与所述IP通信的主机都可以连接到MongoDB。
为了确保只有您的应用服务器可以与您的MongoDB实例通信,您需要在运行MongoDB的服务器或其前面的某个位置配置防火墙。