首页 文章

Azure VM上的Mongodb:Mongodb无法访问

提问于
浏览
1

Case 1 . 我在我的机器(Mac OS)上安装了 mongomongo 配置了 bind-ip : 127.0.0.1 . LAN中的远程计算机可以使用我的IP连接到我的mongodb . (错误观察:见UPDATE部分)

Case 2 . 我在 Azure Ubuntu VM 上安装了 mongo ,mongo配置了 bind-ip:127.0.0.1 . 来自同一VNet的远程计算机无法使用私有vnet IP连接到该mongo .

MongoDB Network Setting (案例1和案例2):

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1

Exception (案例2):

2018-04-03 06:35:29.948 INFO 44518 --- [72.17.1.4:27017] org.mongodb.driver.cluster:连接到服务器时监视器线程中的异常172.17.1.4:27017 com.mongodb.MongoSocketOpenException: com.mongodb.connection.SocketStream.open(SocketStream.java:63)〜[mongodb-driver-core-3.4.1.jar!/:na]的异常打开套接字,位于com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection) .java:115)〜[mongodb-driver-core-3.4.1.jar!/:na]在com.mongodb.connection.DefaultServerMonitor $ ServerMonitorRunnable.run(DefaultServerMonitor.java:113)〜[mongodb-driver-core- 3.4.1.jar!/:na] at java.lang.Thread.run(Thread.java:748)[na:1.8.0_151]引起:java.net.ConnectException:连接被拒绝(连接被拒绝)在java . java.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl .java:206)〜[na:1.8.0_1 51] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)~ [na:1.8.0_151] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)〜[na:1.8.0_151] at java .net.Socket.connect(Socket.java:589)〜[na:1.8.0_151] at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57)〜[mongodb-driver-core-3.4.1 . jar!/:na] at com.mongodb.connection.SocketStream.open(SocketStream.java:58)〜[mongodb-driver-core-3.4.1.jar!/:na] ...省略了3个常用帧

Azure VM的不同之处在于它与Mac OS安装的行为有何不同?

注意:将 bindIp 更改为 IP (172.17.1.4)0.0.0.0 有效 .

UPDATE:

案例1:我本地计算机的mongo上的远程访问是因为我选择的配置允许远程连接 .

1 回答

  • 1

    根据我的知识, 127.0.0.1 仅适用于机器内部 . 你可以查看blog .

    默认情况下,MongoDB仅绑定到本地接口,它将限制远程连接 . 如果您不关心安全性,只需注释掉接受任何远程连接(不推荐) .

    我建议你可以配置像 bind_ip = 127.0.0.1,172.17.1.4 这样的Mongodb .

相关问题