今天在搭建Redis服务集群的时候,发现自己一直以来对Redis中bind的理解的一个误区

在今天以前,我一直认为Redis中的配置文件中的bind的作用是:用来限制Redis服务器用来接收来自哪些服务器(IP地址)的Redis连接请求。即:只有在bind指定的IP地址的计算机才可以访问这个Redis服务器。(直到今天我才知道以上的理解都是错误

例如:

bind 127.0.0.1      就是用来限制只有本机可以连接redis服务连接

bind 0.0.0.0         就是用来允许任意计算机都可以连接redis服务连接。

注意:以上的理解都是错误的。他们正好是特例,对我们产生了一种错觉。

不信的的话你们可以试一试:(最好试一试)

bind 10.0.0.1(或者除了127.0.0.1和0.0.0.0之外的任何IP地址)

然后重启redis,就会发现启动不起来。

对于为什么启动不起来,你们知道了bind的真正意思之后,就会明白启动不起来的原因。

对于Redis中bind的正确的理解是:

bind:是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。

如果指定了bind,则说明只允许来自指定网卡的Redis请求。如果没有指定,就说明可以接受来自任意一个网卡的Redis请求。

举个例子:如果redis服务器(本机)上有两个网卡,每一个网卡对应一个IP地址,例如IP1IP2。(注意这个IP1和IP2都是本机的IP地址)。

我们的配置文件:bind IP1。  只有我们通过IP1来访问redis服务器,才允许连接Redis服务器,如果我们通过IP2来访问Redis服务器,就会连不上Redis。

查看本地的网卡对应的IP地址:使用ifconfig命令。

从上面看出我们有两个网卡,也就是我们只能使用:127.0.0.1和172.18.235.206最为bind的地址,不然redis启动不起来。

这就说明了上面例子(bind 10.0.0.1)为什么启动不起来,因为我们没有对应的网卡IP地址。这就说明了bind并不是指定redis中可以接受来自哪些服务器请求的IP地址。

而是:bind用于指定本机网卡对应的IP地址。


附注:

bind 127.0.0.1的解释:(为什么只有本机可以连接,而其他不可以连接)

我们从ifconfig可以看出:lo网卡(对应127.0.0.1IP地址):是一个回环地址(Local Loopback),也就是只有本地才能访问到这个回环地址,而其他的计算机也只能访问他们自己的回环地址。

那么来自这个lo网卡的计算机只有本机,所以只有本机可以访问,而其他计算机不能访问

bind 172.18.235.206的话,只要通过这个网卡地址(172.18.235.206)来的Redis请求,都可以访问redis。我使用的阿里云的服务器。我在另一个服务器上去请求              redis-cli 阿里云公网IP地址        就会连接到redis服务器。

因为公网地址的请求:都是经过这个eth0的网卡地址(172.18.235.206),从而接收到这个redis请求。

当你们不使用那个回环地址,基本上外部的计算机都可以访问本机的Redis服务器。

如果我们想限制只有指定的主机可以连接到redis中,我们只能通过防火墙来控制,而不能通过redis中的bind参数来限制。

使用阿里云的安全组,来限制指定的主机连接6379端口。

redis中的【protected-mode】的理解:

redis本身无法限制【只有指定主机】连接到redis中,就像我上面说的一样,bind指定只是用来设置接口地址(interfaces)。

1.如果你的bind设置为:bind 127.0.0.1,这是非常安全的,因为只有本台主机可以连接到redis,就算不设置密码,也是安全的,除非有人登入到你的服务器上。

2.如果你的bind设置为:bind 0.0.0.0,表示所有主机都可以连接到redis。(前提:你的服务器必须开放redis的端口)。这时设置密码,就会多一层保护,只有知道密码的才可以访问。也就是任何知道密码的主机都可以访问到你的redis。

protected-mode是redis本身的一个安全层,这个安全层的作用:就是只有【本机】可以访问redis,其他任何都不可以访问redis。这个安全层开启必须满足三个条件,不然安全层处于关闭状态:

(1)protected-mode yes(处于开启)

(2)没有bind指令。原文:The server is not binding explicitly to a set of addresses using the "bind" directive.

(3)没有设置密码。原文:No password is configured。

这时redis的保护机制就会开启。开启之后,只有本机才可以访问redis。 如果上面三个条件任何一个不满足,就不会开启保护机制。


更多精彩内容:请关注公众号:

Redis的bind的误区相关推荐

  1. 如何改变Redis用不好的误区

    从实际案例看Redis的使用 在一个炎热的夏天,引爆了埋藏已久的大炸弹. 一 首先是一个产品线开发人员搭建起了一套庞大的价格存储系统,底层是关系型数据库,只用来处理一些事务性的操作和存放一些基础数据: ...

  2. 同程旅行王晓波:如何改变 Redis 用不好的误区

    王晓波 同程旅行 机票事业群 CTO 读完需要 4 分钟 速读仅需 2 分钟 本章和大家分享一下同程凤凰缓存系统在基于 Redis 方面的设计与实践.如何改变 Redis 不好用的误区 本文节选自中生 ...

  3. Redis几个认识误区

    http://timyang.net/data/redis-misunderstanding/ 前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilto ...

  4. Redis进阶-bind参数详解

    文章目录 redis.conf 验证bind bind 127.0.0.1 bind 192.168.18.130 bind 192.168.18.130 127.0.0.1 redis.conf R ...

  5. 解决Redis修改bind域名绑定后出现Could not connect to Redis

    2019独角兽企业重金招聘Python工程师标准>>> 我在linux服务器上装redis, 默认绑定的IP是127.0.0.1, 但是修改了redis.conf文件中的bind之后 ...

  6. 解决云服务器上的redis端口不通以及设置redis的bind地址后启动失败问题

    ---------------------------------------------------2021-11-20更新------------------------------------- ...

  7. redis远程连接不上_redis连接认证及bind的注意事项

    redis连接安全相关的设置主要有三个:protected-mode,bind,requirepass.下面我们来看一下这三个设置的作用. 第一个设置:protected-mode yes 开启保护模 ...

  8. 对Redis配置中bind的探索

    [前言] 经历了两次病毒的攻击(感兴趣的朋友参考<高校云平台(十三):Redis服务器被劫持风波>和<高校云平台(十六):解决Linux服务器被植入木马总结>)让我们对安全重视 ...

  9. Redis笔记-入门篇

    Nosql概述 为什么要用Nosql 大数据时代, 大数据 一般的数据库无法进行分析处理了! 1.单机MySQL的年代 90年代,一个基本的访问量一般不会太大,单个数据库完全足够! 那个时候,更多的去 ...

最新文章

  1. ORB 特征检测与匹配
  2. 消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?大量消息持续积压几个小时,怎么办?...
  3. sqlalchemy(一)基本操作
  4. 数据之路 Day8 Numpy包
  5. 刷前端面经笔记(十二)
  6. redis命令操作(1)
  7. uniapp返回上一页_一例万级写入并发,百亿级数据,毫秒级返回架构分享
  8. (建议收藏)前端面试必问的十六条HTTP网络知识体系
  9. misc类设备与蜂鸣器驱动
  10. MySQL锁机制,行锁jingran加在索引上
  11. 轻松使用终端开启macOS系统的隐藏功能,小白都能看得懂
  12. axios的请求配置
  13. 幼师资格证综合素质计算机知识点,幼师资格证复习资料
  14. css连续选取几个li_CSS高级选择器:nth-child()应用大全
  15. 在服务器上log4net没写日志
  16. python预测模型类型,多变量时间序列的预测和建模指南(附Python代码)
  17. Arcgis重分类无法赋新值为小数
  18. 171108 将Youtube自动翻译字幕转换成srt文件本地播放
  19. 应用程序配置不正确解决方法
  20. Unity Android 加载Sprite

热门文章

  1. 计算机教室学生上机须知,微机室上机须知
  2. 微软拥抱开源_拥抱开源作为视觉艺术家
  3. 【天光学术】民法学论文:从税收法定主义看我国税收立法之不足【开题报告 硕士研究生毕业论文】
  4. Hdfs的一系列坑坑洼洼,认证,认证,还是***认证
  5. Cisco Firepower 9300 Series FTD Software 7.2.0 ASA Software 9.18.1
  6. windows系统mysql安装教程<手把手教学>
  7. Python-Django基本笔记
  8. listen的第二个参数详解
  9. 如何与离职员工面谈沟通?
  10. 异构平台运维工作文档