zoukankan      html  css  js  c++  java
  • redis的安全模式

      下载并安装redis到机器后,使用默认配置启动。发现本机client使用“localhost”或者“127.0.0.1”连接本机的server,一切正常ok。但是将client切换到别的机器上时,发现连接不上。查了一下,原因如下:

      redis的默认配置是没有用户验证的。也就是说,reids的server你只需要知道ip和端口就可以连得上,然后也有操作权限。这样存在redis里面的数据就非常危险了。所以redis的设计者为了提醒用户注意到这一点,并引导其做一些配置,redis server默认是 bind  “127.0.0.1”,也就是说,它只能接收来自本机的client的连接。打开redis的配置文件,可以发现以下介绍:  

      

      要想让redis接受所有ip地址的连接,只需要把bind那一行注释掉即可。

      但是从3.2开始,redis增加了protected-mode, 即使注释掉bind那一行,远程连接redis仍然会报错。

      配置文件是这么描述的:protected-mode默认是开启的,它会在这两种情况同时存在的时候起作用:

      (1) server没有明确指定一些 ip 去 bind

      (2) 没有password配置

      

      我们刚才把 bind 127.0.0.1 那一行给注释掉了,那就是没有指定ip去让server bind。我们用默认的配置文件是没有密码配置的。所以安全模式在这个时候起作用了,connect就会抛出如下错误:

       Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients.

       如果不想设置密码,又想让redis server 被远程连接,那么就把 protected-mode 的 yes 改成 no。

      

  • 相关阅读:
    JavaScript小技巧总结
    Table边框使用总结 ,只显示你要显示的边框
    连续字符换行及单行溢出点点点显示
    对ThreadLocal的理解个人
    Linux面试题答案解析
    com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class
    21道 Redis 常见面试题,必须掌握!
    MyBatis中的#与$
    Linux下zookeeper的搭建
    web.xml加载顺序与过程
  • 原文地址:https://www.cnblogs.com/MyOnlyBook/p/9452179.html
Copyright © 2011-2022 走看看