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。

      

  • 相关阅读:
    又从头开始
    test1
    day1
    路飞学成-Python爬虫实战密训-第3章
    路飞学成-Python爬虫实战密训-第2章
    路飞学成-Python爬虫实战密训-第1章
    【软件测试】(homework3)覆盖问题
    【软件测试】(homework3)有关三角形的测试练习
    【软件测试】(homework2)错误分析
    【软件测试】(homework1)描述曾遇到且已经被解决的error
  • 原文地址:https://www.cnblogs.com/MyOnlyBook/p/9452179.html
Copyright © 2011-2022 走看看