如题,我在本地连接115.26.37.154上的mongodb,求教怎么连接,我使用robomongo,用了其中的ssh登录的方法,在node中怎么写呢?
要么监听在公网 IP 上,要么自己用 ssh 建隧道(ssh -L
)
不是很理解
- 你的server访问哪个服务器,无所谓
- robo只是客户端而已,如果你的mongod没有设置权限就直接连就好了
- ssh只是说你自己的电脑和服务器的链接
mongoose就是用ip地址,如果为了安全就bind 127.0.0.1,和alsotang的做法一样,如果加验证,可以参考我的一个帖子
@jysperm 又不是vpn
@i5ting 如果本地我可以这么写: mongoose.connect(‘mongodb://127.0.0.1/you’, function (err) { }); 如果是115.26.37.154,是这么写吗? mongoose.connect(‘mongodb://115.26.37.154/you’, function (err) { }); 好像会连接失败
端口呢?
@i5ting 楼主的意思是,他的 mongodb 开在另一台服务器上(很可能监听在 127.0.0.1),他自己管理的时候用的是 robomongo 的 SSH 隧道功能连接上去的,但是他不知道怎么用 mongoose 来连接。
所以我对楼主的建议在一楼。
连接mongo自动添加默认端口27017,如图:
@jysperm 就是这个意思, 监听公网iP就是直接将node部署到服务器上? 能写个简单示例代码吗?有没有相关的资料我去看下。
帮顶一下,有同样的问题
@renjunqing 就是说把 MongoDB 监听在 115.26.37.154 而非 127.0.0.1. 这样的话你需要配置证书验证或密码验证,否则别人也可以访问你的数据库。 我还是建议用 ssh -L 来建一个隧道,就像 robomongo 那样。
@jysperm 同意10楼建议 不做加密,渗透入侵很容易,而且你根本查不出来
mongoose.connect('mongodb://username:password@host:port/database?options...');
详见文档Connections 链接之前要注意在对应的数据库中创建用户