Can';无法连接到远程azure windows计算机上运行的MongoDB实例
我无法连接到运行windows Server 2012 R2的windows azure vm上运行的mongo实例。我已经证实了以下几点Can';无法连接到远程azure windows计算机上运行的MongoDB实例,windows,mongodb,azure,Windows,Mongodb,Azure,我无法连接到运行windows Server 2012 R2的windows azure vm上运行的mongo实例。我已经证实了以下几点 网络安全组具有允许端口27017入站(*->27017)的规则 VM已在所有配置文件上打开TCP端口27017入站(当前,我的防火墙已完全禁用) Mongo作为windows服务运行。我已经确认它已启动并运行。我能够在运行Mongo的远程vm上的shell中连接、插入和查找记录 当我运行netstat-a时,我可以看到0.0.0.0:27017的状态为“正
- 网络安全组具有允许端口27017入站(*->27017)的规则
- VM已在所有配置文件上打开TCP端口27017入站(当前,我的防火墙已完全禁用)
- Mongo作为windows服务运行。我已经确认它已启动并运行。我能够在运行Mongo的远程vm上的shell中连接、插入和查找记录
- 当我运行netstat-a时,我可以看到0.0.0.0:27017的状态为“正在侦听”
- 如果我尝试ping虚拟机,它会超时(我相信这是意料之中的)
- 端口22在防火墙和网络安全组规则中打开
- 我没有在本地计算机上运行任何第三方防病毒软件
- 我尝试从操作系统和azure门户重新启动VM
- 我尝试从网络安全组中删除规则并读取它们
mongo
尝试通过bash中的SSH进行连接。它会超时,并显示消息ssh:connect to host x.x.x.x port 22:Resource temporary unavailable
我尝试了通过Putty/SSH进行连接。同样的结果
我已尝试通过MongoDB Compass进行连接,但出现类似错误无法在提供的主机和端口上连接到MongoDB
有什么想法吗
这是我正在使用的配置
systemLog:
logAppend: true
verbosity: 0
traceAllExceptions: true
path: c:\MongoLogs\mongolog.log
destination: file
net:
port: 27017
bindIp: [127.0.0.1, <external-ip>]
http:
enabled: true
JSONPEnabled: false
RESTInterfaceEnabled: true
storage:
dbPath: c:\MongoData\
systemLog:
logAppend:true
详细程度:0
TraceAlexceptions:正确
路径:c:\mongogs\mongolog.log
目的地:文件
净:
港口:27017
bindIp:[127.0.0.1,]
http:
已启用:true
JSONPEnabled:错误
resteenabled:正确
存储:
数据库路径:c:\MongoData\
事实证明,虚拟机附带了多个网络安全组配置文件。当我单击“有效的安全规则”时,它显示了第二个选项卡,其中有另一个似乎是从子网继承的配置文件——可以说,它没有所需的权限。通过在该配置文件上打开正确的端口,我们可以很好地完成连接。我们将对此进行清理,但简言之,存在权限冲突。您已更改mongodb conf文件以允许除localhost之外的其他连接?它是一个windows实例,因此我假设您正在谈论我创建的config.yaml文件。我没有显式地设置任何内容,但文档中说它默认为所有接口。没有变化我也遇到了同样的问题,你是如何解决的?请你解释一些细节,比如你在刀片服务器中的“有效安全规则”@LuzanBaral下到底做了什么,该刀片服务器打开了有效安全规则,应该(如果适用于你)在规则顶部的选项卡。这些表示影响VM的不同网络安全组。如果你点击每一个来观察它们各自的设置,应该很清楚需要做什么。例如,我有一个没有打开Mongo端口,并且阻塞了它。我找到了NSG并打开了端口,一切都很好。我在NSG上为那个实际的虚拟机(您在创建虚拟机时创建的虚拟机)做了操作,但它应用了另一个NSG,我认为这是从子网继承的。这是一个没有制定规则的人。谢谢@sineauthm给你时间。我设法让它工作起来了。