在cento,pymongo上设置mongo中的bind_ip的问题

时间:2015-05-20 21:50:31

标签: mongodb pymongo

在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

1 个答案:

答案 0 :(得分:0)

bind_ip中的mongodb配置选项用于附加mongosmongod进程以侦听特定网络接口。您可能知道服务器可能有多个网络接口,您可以选择希望mongos/mongod监听连接的接口。

如果我简单地说,bind_ip配置允许将mongos/mongod进程附加到服务器上可用的一个或多个ips,以便它将侦听特定ip / ips上的连接请求。 bind_ip有时会混淆初学者。他们可能会认为bind_ip允许ip FROM允许与mongodb的连接。但事实并非如此。

例如,假设您有一台具有2个网络接口的服务器,即x.x.x.xy.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,那么您将只能从服务器本身连接到它。

希望这有帮助。