mongo DB数据库bindIP的配置和我的理解(bindIP不是应用服务器的IP)

news2024/11/27 4:20:23

先批评这个文章!典型的错误,bindIP根本不是绑定哪一个ip的
在这里插入图片描述

背景:最近在阿里云上搭建overleaf的web服务集群,数据库和应用服务器分离,一口气买了三台服务器准备开始干活。overleaf用的是mongodb,我本来准备用docker来部署的,后来一想干脆作罢,就正常安装数据库,然后配置mongoDB仅仅允许在局域网访问嘛(因为三个机器都是在一个VPC里面,测试了一下互相也ping的通!所以就算了)

我部署过很多web应用,很多时候也都遇到过bind_ip这个名词,通常来说我们知道吧这个配置为0.0.0.0就是允许所有用户访问,配置为127.0.0.1就是只能本机访问,久而久之我就理解成bind_ip就是远程的访问的ip地址嘛,那就是配置为我的应用服务器的IP地址了?

但是这么下来,mongo直接无法启动了。怎么都启动不了,我找了一堆官网的解答,最后这个回答给了我惊醒!我的理解一直都是错的。

最基本的 TCP/IP 里 Socket(套接字)五元组说白了就是:

  • 协议
  • 本地的IP和端口
  • 远端的IP和端口

有了这五个元素就能确定唯一的一个连接。那么bind_ip的含义是什么呢?就是本地的IP和端口。一台主机可以有多个 IP 地址,多个网卡的且不提,单个网卡的还分别有 127.0.0.1(即回环地址)、子网地址(如同时处在多个子网下则子网地址也不唯一)、公网地址。

要查看一个机器的所有的网卡,直接输入ip addr命令即可。

ecs-assist-user@iZt4n975gdpeb881pr3slmZ:~$ sudo ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:16:3e:06:38:23 brd ff:ff:ff:ff:ff:ff
    inet 172.24.230.74/20 brd 172.24.239.255 scope global dynamic eth0
       valid_lft 315352910sec preferred_lft 315352910sec
    inet6 fe80::216:3eff:fe06:3823/64 scope link 
       valid_lft forever preferred_lft forever

然后把bind_ip修改为:172.24.230.74,也就是监听局域网VPC里面的连接请求,这样我局域网里面的所有主机就可以直接登陆到mongodb了!

当然如果你要设置多个bind_ip,就用逗号分隔开来。

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,172.24.230.74

最后我才恍然大悟。成功了!

但是这样真的安全吗?我bind了局域网的这个网卡,真的就是只有局域网才能访问吗?后来我随便拿一台机器一测试居然连接上了!离谱!

所以最终结论:用数据库的账号、密码来管理,而不是用所谓的IP来保证安全。此外如果对于安全有额外考虑的,比如游戏公司数据库,最好通过安全组限制访问的IP。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331921.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【多道批处理系统】计算完成两个作业需要的最少时间,并图文叙述

一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达, 它们的计算和I/O操作顺序如下。 P1:计算60ms,I/O操作80ms,计算20ms。 P2:计算120ms,I/O操作40ms,计算40ms。 不考虑调度和切换时间,请计算完成两个作业需要的最少时间&#xff0c;并图文叙述两个作业的执行情况。

[开源]ChatGPT-OpenAI注册使用保姆级教程?[开箱可用][免费使用]

[开源]ChatGPT-OpenAI注册使用保姆级教程?[开箱可用][免费使用]ChatGPT是什么?1.ChatGPT官网2.一部分打不开的ChatGPT官网3.如何开始真实的ChatGPT官网之旅...3.1有美国IP的服务器3.2一个chrome浏览器插件ChatGPT for Google3.3打开了...4.获取用户输入正确的手机号(美国)4.1…

mysql explain 执行计划 超简单入门介绍与sql案例以及常用sql优化方案

explain说明 EXPLAIN是MySQl必不可少的一个分析工具&#xff0c;主要用来测试sql语句的性能及对sql语句的优化&#xff0c;或者说模拟优化器执行SQL语句。 在select语句之前增加explain关键字&#xff0c;执行后MySQL就会返回执行计划的信息 而不是执行sql。但如果from中包含子…

Ubuntu安装搜狗输入法

目前搜狗输入法已支持Ubuntu1604、1804、1910、2004、20101、添加中文语言支持&#xff0c;并使用fcitx输入法框架&#xff08;搜狗输入法基于fcitx&#xff09;打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言”弹出“已安装语言…

RabbitMq相关面试题

文章目录消息队列有没有接触过&#xff1f; 简单介绍一下&#xff1f;消息中间件模式分类 &#xff1f;使用MQ有什么好处&#xff1f;MQ如何选型 &#xff1f;你们项目中用到过 MQ 吗&#xff1f;谈谈你对 MQ 的理解&#xff1f;MQ消费者消费消息的顺序一致性问题&#xff1f;R…

蓝桥杯-单片机类客观题真题解析

2017年第八届(国赛) 选项A 用于中断 选项B code :程序存储区(64KB) idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同,是用类似C中的指针方式访问的。 data:固定指前面0x00-0x7f的128个RAM,可以直接读写的,速度最快,生…

如何降低输电线路在线监控摄像头的功耗呢?

输电线路视频/图像监测装置通过安装在线路杆塔上的摄像头&#xff0c;将线路走廊、通道、杆塔、绝缘子、导线、金具等的图像&#xff0c;经无线公网&#xff08;4G/3G&#xff09;传输到监控中心平台上&#xff0c;使管理者和运维人员通过办公电脑&#xff0c;就可实时掌握现场…

内存检测工具Dr.Memory在Windows上的使用

之前在https://blog.csdn.net/fengbingchun/article/details/51626705 中介绍过Dr.Memory&#xff0c;那时在Windows上还不支持x64&#xff0c;最新的版本对x64已有了支持&#xff0c;这里再总结下。 Dr.Memory源码地址https://github.com/DynamoRIO/drmemory&#xff0c;最新发…

计算机网络概念——应用层email协议

1. email的工作方式。电子邮件中有四个重要的组成部分&#xff1a;邮件服务器&#xff08;电子邮件体系结构的核心&#xff0c;为其用户提供邮箱服务&#xff08;管理、维护用户报文的服务&#xff09;&#xff0c;并起到邮件服务器间相互通信的作用&#xff09;、用户代理&…

apisix 初体验

文章目录前言一、参考资料二、安装1.安装依赖2.安装apisix 2.53.apisix dashboard三、小试牛刀3.1 上游&#xff08;upstream&#xff09;3.2 路由&#xff08;route&#xff09;四、遇到的问题前言 APISIX 是一个微服务API网关&#xff0c;具有高性能、可扩展性等优点。它基于…

JavaEE15-Spring Boot统一功能处理

目录 1.统一用户登录权限效验 1.1.最初用户登录验证 1.2.Spring AOP用户统一登录验证的问题 1.3.Spring拦截器 1.3.1.创建自定义拦截器&#xff0c;实现 HandlerInterceptor 接口并重写 preHandle&#xff08;执行具体方法之前的预处理&#xff09;方法 1.3.2.将自定义拦…

2023养老展,CBIAIE第十届中国北京国际老年产业博览会

8月招商季&#xff0c;第十届中国&#xff08;北京&#xff09;国际老年产业博览会再次盛大举办&#xff1b; CBIAIE北京国际老年产业博览会位域优势&#xff1a; ——北京&#xff0c;中国首都&#xff0c;世界一线城市&#xff0c;地处中国北部、华北平原北部&#xff0c;东…

安装PhpStorm2020.3

1、卸载旧软件 如果已安装软件&#xff0c;先打开文件安装目录&#xff0c;找到Uninstall.exe点击卸载 删除.jetbrains目录 点击软件“PhpStorm-2020.3.exe”安装 打开软件 打开一个新建的空文件夹&#xff0c;预加载 将BetterIntelliJ.zip拖动到idea的编辑区域 然后…

Python爬虫之Scrapy框架系列(13)——实战ZH小说爬取数据入MySql数据库

目录&#xff1a;1 数据持久化存储&#xff0c;写入Mysql数据库①定义结构化字段&#xff1a;②重新编写爬虫文件&#xff1a;③编写管道文件&#xff1a;④辅助配置&#xff08;修改settings.py文件&#xff09;&#xff1a;⑤navicat创库建表&#xff1a;⑥ 效果如下&#xf…

Pspice-介绍

根据B站&#xff1a;【PSpice简单入门教程】 https://www.bilibili.com/video/BV19Z4y157tA/?share_sourcecopy_web&vd_sourcec20b4c8e2a733bf3f410c58538211a7f&#xff08;一&#xff09;原理图仿真的原因仿真节省经费&#xff0c;比如蒙特卡罗分析&#xff0c;最坏情况…

R语言raster包批量拼接、融合大量栅格图像

本文介绍基于R语言中的raster包&#xff0c;遍历文件夹&#xff0c;读取文件夹下的大量栅格遥感影像&#xff0c;并逐一对每一景栅格图像加以拼接、融合&#xff0c;使得全部栅格遥感影像拼接为完整的一景图像的方法。 其中&#xff0c;本文是用R语言来进行操作的&#xff1b;如…

【MongoDB】多级嵌套数组的操作 含Mongo Shell 和 MongoTemplate的增删改细节

文章目录1.前言2.数据准备3.Mongo Shell操作实践3.1.第一层数组操作3.1.1.新增元素3.1.2.修改元素3.1.2.1.批量修改元素中的坑3.1.3.使用$[<identifier>]做批量修改3.1.4.移除元素3.2.第二层数组操作3.2.1.新增与移除元素3.2.2.修改元素中的字段值3.2.2.1.易错点4.Mongo …

基于yolo的小球位置实时检测

基于yolo的小球位置实时检测 Yolo安装 操作系统&#xff1a;ubuntu 安装cuda和opencv git clone https://github.com/pjreddie/darknet.git cd darknet 修改Makefile文件&#xff0c;使GPU1&#xff0c;OPENCV1 make 2. 数据集处理 2.1 制作数据集 将小球放在摄像头前…

分布式高级篇2 —— 商城业务 (1)

一、商品上架 一、商品上架1、sku 在 ES 中存储模型分析2、nested 嵌套类型3、商品上架业务代码&#xff08;1&#xff09;构建 sku 基本属性&#xff08;2&#xff09;构造 sku 检索属性&#xff08;3&#xff09;远程调用查询库存&#xff08;4&#xff09; 远程调用上架接口…

【干货】Python:time库的用法

【干货】Python&#xff1a;time库的用法1. time库概述2. time库的运用2.1 时间处理2.1.1 time()2.1.2 gmtime()2.1.3 localtime()2.1.4 ctime()2.2 时间格式化2.2.1 mktime()2.2.2 strftime()2.2.3 strptime()2.3 计时3. 习题4. 本文代码编译环境及版本5. 更新日志6. 参考1. t…