Mongodb 无法连接mongo db(cf ssh)-MongoNetworkError
我想将我的本地NodeJS应用程序连接到Swisscom Cloud Foundry MongoDB服务实例。 正如我在服务密钥中看到的,mongo db有三个端口。 因此,我将端口与cf ssh端口绑定Mongodb 无法连接mongo db(cf ssh)-MongoNetworkError,mongodb,cloud-foundry,swisscomdev,Mongodb,Cloud Foundry,Swisscomdev,我想将我的本地NodeJS应用程序连接到Swisscom Cloud Foundry MongoDB服务实例。 正如我在服务密钥中看到的,mongo db有三个端口。 因此,我将端口与cf ssh端口绑定 cf ssh -L 63307:kubernetes-service-node.service.consul:37268 {my binded app} cf ssh -L 63308:kubernetes-service-node.service.consul:39279 {my binde
cf ssh -L 63307:kubernetes-service-node.service.consul:37268 {my binded app}
cf ssh -L 63308:kubernetes-service-node.service.consul:39279 {my binded app}
cf ssh -L 63309:kubernetes-service-node.service.consul:45817 {my binded app}
在成功运行cf ssh
后,我无法连接到我的MongoDB并获得一个网络错误(MongoNetworkError:无法连接到NodeJS中的服务器[kubernetes service node.service.Concur:63308])
(mongoose连接到数据库uri
)。与MongoDB Compass客户端的行为相同
我做错了什么?您是否在系统中添加了主机条目,以将
kubernetes服务节点.service.consul
解析为127.0.0.1
另外,我认为您不需要打开三个SSH连接,也就是说,我认为您可以在一个连接中指定多个端口转发,如下所示:
cf SSH-L-我-我
您能否使用用于连接的命令mongo-vvv
和确切的命令编辑您的问题?我是否必须在主机文件(在我的mac上)上添加主机条目,或者只是可以像这样将连接字符串更改为localhost:"mongodb://xyz@127.0.0.1:63310127.0.0.1:63311127.0.0.1:63312/abc?replicaSet=efg“
与cf ssh绑定后-L 63310:kubernetes服务节点.服务.领事:37268-L 63311:kubernetes服务节点.服务.领事:39279-L 63312:kubernetes服务节点.服务.领事:45817{appname}
?您必须添加它,因为您连接到的mongod服务器将告诉您的客户端/驱动程序“正确”的地址,然后它将尝试连接到这些地址,而不是您指定的地址。将主机添加到主机文件并从连接字符串中删除replicationSet参数后,连接工作正常!谢谢。