资讯专栏INFORMATION COLUMN

关于mongodb远程访问问题

chanjarster / 3636人阅读

摘要:背景在视频学习开发中使用到了这个数据库,视频中安装在本地也能通过命令访问到本地数据库。在练习中将安装到了云服务器上,通过外网来访问这个的时候却超时了。使用对性能没有影响并且可以防范类似于的攻击。参见配置以获得更多信息。

背景:在视频学习vue开发中使用到了mongodb这个数据库,视频中安装在本地也能通过mongo命令访问到本地数据库。在练习中将mongodb安装到了云服务器上,通过外网来访问这个mongodb的时候却超时了。尝试使用ping命令去访问服务器ip能ping通,在本地的window下使用telnet ip:port的时候却ping不同

版本:
mongodb3.6社区版

搜索资料:

防火墙限制了端口的访问

解决: 直接关闭防火墙  
结果:不起作用

mongodb配置文件中指定访问的ip

解决: mongodb -help查看帮助选项,
发现--config --bind_ip --bing_ip_all, 可以从三者中配置ip地址,配置ip为0.0.0.0(所有ip都能访问)
结果:不起作用

通读官网资料:
mongodb3.6版本变更 中有下面的一段引用

Previously, starting from MongoDB 2.6, only the binaries from the official MongoDB RPM (Red Hat, CentOS, Fedora Linux, and derivatives) and DEB (Debian, Ubuntu, and derivatives) packages bind to localhost by default.
When bound only to the localhost, these MongoDB 3.6 binaries can only accept connections from clients (including the mongo shell, other members in your deployment for replica sets and sharded clusters) that are running on the same machine. Remote clients cannot connect to the binaries bound only to localhost.
To override and bind to other ip addresses, you can use the net.bindIp configuration file setting or the --bind_ip command-line option to specify a list of ip addresses.
mongodb只绑定localhost,客户端只能通过localhost访问,如果想要通过外网来访问需要添加bind_ip,那么问题来了上面通过查看别人博客的时候也使用了bind_ip选项绑定了0.0.0.0 为什么行不通? 这里精确到绑定ip为云服务器的ip
结果:不起作用,启动报错

使用ssl作为外部连接的认证

上面通过绑定bind_ip选项来启动mongod服务发现报错,这里需要配置ssl证书,参考官网配置ssl证书,还需要配置客户端的ssl,参考官网Client配置ssl,简单概括就是:要想外网访问就需要配置bing_ip,要想bing_ip起作用就得配置ssl通过通过证书认证
结果:不起作用,mongo 启动报错

都干到这一步了放弃是不可能的,继续查资料

安全部署MongoDB最佳实践,中描述:MongoDB集群之间以及从客户端连接到MongoDB实例的连接应该使用SSL。使用SSL对性能没有影响并且可以防范类似于man-in-the-middle的攻击。参见 配置SSL 以获得更多信息。 注意MongoDB社区版默认并不支持SSL。你可以选用MongoDB企业版(有SSL支持),或者从源码重新编译MongoDB并使用 —ssl 选项来获得SSL功能。

下载企业版

下载企业版要我注册是怎么回事? 心里有种不祥的预感,继续查资料,

不想折腾了,直接老老实实在window下安装个mongodb吧,先入门了再研究更深的

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19263.html

相关文章

  • 如何保证MongoDB的安全性?

    摘要:另外,保证数据库的访问安全非常重要,同时也需要保证数据的安全性,做好必要的数据备份。关于如何保护数据的安全性,可以参考我们的博客是这样备份数据的。 上周写了个简短的新闻《MongoDB裸奔,2亿国人求职简历泄漏!》: 根据安全站点HackenProof的报告,由于MongoDB数据库没有采取任何安全保护措施,导致共计202,730,434份国人求职简历泄漏。 然后很多人评论说Mongo...

    Steve_Wang_ 评论0 收藏0
  • Centos7安装mongodb

    摘要:即使宕机,启动时会先将数据恢复到最近一次的点,然后重放后续的日志来恢复。查看端口状态启动成功后,查看是否处于的状态。在端口连接失败,由此可知,是端口的问题。在命令行使用命令。 初始安装 初始安装很简单,具体过程参考了:https://blog.csdn.net/junshan...,其中最重要的就是mongodb.conf这个文件的配置,具体如下: port=27017 #端口   d...

    xuweijian 评论0 收藏0
  • 利用MongoDB分析Nginx日志

    摘要:通过通过入库后使用进行查询的方式可以通过如下种图片来查看在上图中主要是查看日志中请求状态码的总数量。 原文地址: http://52sox.com/use-mongodb-... 在项目开发过程中,总是离不开日志解析的工作,虽然有些时候觉得确实挺繁琐的,但是静下心来会发现有时候也是挺有趣的1件工作。 在这里,我们要从日志文件中找出IP访问最多的10条记录,然后判断其是否合法,从而采取...

    edgardeng 评论0 收藏0
  • 利用MongoDB分析Nginx日志

    摘要:通过通过入库后使用进行查询的方式可以通过如下种图片来查看在上图中主要是查看日志中请求状态码的总数量。 原文地址: http://52sox.com/use-mongodb-... 在项目开发过程中,总是离不开日志解析的工作,虽然有些时候觉得确实挺繁琐的,但是静下心来会发现有时候也是挺有趣的1件工作。 在这里,我们要从日志文件中找出IP访问最多的10条记录,然后判断其是否合法,从而采取...

    LiuZh 评论0 收藏0

发表评论

0条评论

chanjarster

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<