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。

      

  • 相关阅读:
    无法解析导入javax.mail
    maven-assembly-plugin入门
    maven profile动态选择配置文件
    阿里巴巴Jetcache springboot使用教程
    跨域技术(JSONP与CROS)
    Hystrix 监控数据聚合 Turbine【Finchley 版】
    5分钟搭建网站实时分析:Grafana+日志服务实战
    idea解决打开大文件消耗CPU问题
    String类
    匿名对象,内部类和访问修饰符应用
  • 原文地址:https://www.cnblogs.com/MyOnlyBook/p/9452179.html
Copyright © 2011-2022 走看看