代码之家  ›  专栏  ›  技术社区  ›  onefootswill

从远程连接到MongoDb。NET应用程序

  •  0
  • onefootswill  · 技术社区  · 6 年前

    从连接到远程MongoDb实例时遇到一些问题。NET应用程序。

    我创建了一个非常简单的控制台应用程序,它基本上是一个冒烟测试,并带回了一个项目。如果我在运行MongoDb服务的服务器上运行它,它会与MongoDb进行通信,没有问题。连接字符串很简单 mongodb://localhost:27017

    但是,我想在我的开发机器上的开发环境中运行它。我尝试了几种不同的连接字符串(在本文末尾列出),但一直出现超时错误:

    30000ms后,使用CompositeServerSelector{Selectors=MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector,LatencyLimitingServerSelector{AllowedLatencyRange=00:00:00.0150000}选择服务器时超时。集群状态的客户端视图是{ClusterId:“1”,连接模式:“自动”,类型:“未知”,状态:“断开”,服务器:[{ServerId:{ClusterId:1,端点:“192.168.1.51:27017”},端点:“192.168.1.51:27017”,状态:“断开”,类型:“未知”}。

    我正在使用v2。第5.1页,共页 mongocsharpdriver

    我已经为服务器上的27017端口创建了一个inboudd规则,甚至完全关闭了防火墙。

    我的Mongo服务器的cfg文件非常基本:

    systemLog: destination: file path: E:\MongData\mongod.log
    storage: dbPath: E:\MongData\db directoryPerDB: false net: port: 27017 security: authorization: 'enabled'

    我没有任何复制品。只有一个实例。

    正如你所知,我是一个蒙哥人。怎么了?

    干杯

    连接字符串:

    <add name="MConnectionString" connectionString="mongodb://daveAdmin:firetruck1@192.168.1.51:27017" />
    <add name="MRealEstateConnectionString" connectionString="mongodb://daveAdmin:firetruck1@BIGDOG:27017" />
    <add name="MRealEstateConnectionString" connectionString="mongodb://BIGDOG:27017" />
    <add name="RealEstateConnectionString" connectionString="mongodb://192.168.1.51:27017" />
    

    下载Mongo二进制文件(zip文件)后,我还尝试使用CLI进行连接,但没有成功:

    W: \mongodb\bin>mongo——主机BIGDOG:27017 MongoDB shell v3版。7.5-85-gb48579fcba 正在连接到:mongodb://BIGDOG:27017/ 2018-04-22T11:05:36.098+0930 E QUERY[js]错误:无法连接到服务器BIGDOG:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/蒙戈/壳牌/蒙戈。js:251:13 @(连接):1:6 异常:连接失败

    W: \mongodb\bin>mongo--主机192.168.1.51:27017 MongoDB shell v3版。7.5-85-gb48579fcba 正在连接到:mongodb://192.168.1.51:27017/ 2018-04-22T11:05:56.508+0930 E QUERY[js]错误:无法连接到服务器192.168.1.51:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/蒙戈/壳牌/蒙戈。js:251:13 @(连接):1:6 异常:连接失败

    W: \mongodb\bin>mongo--用户名daveAdmin--密码firetruck1--主机192.168.1.51:27017 MongoDB shell v3版。7.5-85-gb48579fcba 正在连接到:mongodb://192.168.1.51:27017/ 2018-04-22T11:07:49.671+0930 E QUERY[js]错误:无法连接到服务器192.168.1.51:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/蒙戈/壳牌/蒙戈。js:251:13 @(连接):1:6 异常:连接失败

    W: \mongodb\bin>mongo--用户名daveAdmin--密码firetruck1--主机BIGDOG:27017 MongoDB shell v3版。7.5-85-gb48579fcba 正在连接到:mongodb://BIGDOG:27017/ 2018-04-22T11:08:54.305+0930 E QUERY[js]错误:无法连接到服务器BIGDOG:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/蒙戈/壳牌/蒙戈。js:251:13 @(连接):1:6 异常:连接失败

    我可以ping服务器并从dev桌面访问其网络共享。

    如何远程连接?这只是一个简单的本地网络-通过交换机连接的两台计算机。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Wan B.    6 年前

    如何远程连接?这只是一个简单的本地网络

    开始于 MongoDB 3.6 ,MongoDB二进制文件, mongod mongos ,绑定到 localhost 默认情况下。

    当仅绑定到本地主机时,这些MongoDB 3.6二进制文件只能接受来自同一台机器上运行的客户端的连接。远程客户端无法连接到仅绑定到localhost的二进制文件。

    根据您提供的配置文件,您似乎仍然只绑定到localhost接口(默认)。这就解释了为什么在同一个MongoDB服务器主机上执行应用程序/mongo shell时,您能够连接。

    在您的示例中,您可以尝试运行 mongod 具有以下功能:

    mongod --bind_ip localhost,192.168.1.51 
    

    另请参见 net.bindIp 用于配置参数格式选项。

    您可能还对以下方面感兴趣: MongoDB Security Hardening