在Centos6.5上运行Mongo 3.0.3。从另一台服务器运行带有pymongo(python3.4)的应用程序。
只能通过完全注释掉bind_ip来获取远程服务器的连接,我有点担心。如何将bind_ip设置为接受来自远程服务器的特定IP和localhost的连接?
我试过了:
bind_ip = 127.0.0.1 # only local works
bind_ip = 127.0.0.1, <remote server IP> # all traffic stops
答案 0 :(得分:0)
bind_ip
中的mongodb
配置选项用于附加mongos
或mongod
进程以侦听特定网络接口。您可能知道服务器可能有多个网络接口,您可以选择希望mongos/mongod
监听连接的接口。
如果我简单地说,bind_ip
配置允许将mongos/mongod
进程附加到服务器上可用的一个或多个ips,以便它将侦听特定ip / ips上的连接请求。 bind_ip
有时会混淆初学者。他们可能会认为bind_ip
允许ip FROM允许与mongodb
的连接。但事实并非如此。
例如,假设您有一台具有2个网络接口的服务器,即x.x.x.x
和y.y.y.y
现在,如果您在此服务器上运行mongod进程并在bind_ip配置中使用x.x.x.x
,那么如果在连接字符串中使用x.x.x.x:27017
,则可以从任何位置连接到此mongod。虽然其他IP也在同一台服务器上,但您无法使用连接字符串中的y.y.y.y:27017
连接到此mongod。同样,如果您将mongos / mongod绑定到127.0.0.1
,那么您将只能从服务器本身连接到它。
希望这有帮助。