redis 允许远程链接
Posted 幸运儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 允许远程链接相关的知识,希望对你有一定的参考价值。
修改redis.conf配置文件
这个文件需要修改两个地方
- 打开redis.conf文件
按crrl+F查询,
- 找到bind 127.0.0.1,把这行前面加个#注释掉
- 再查找protected-mode yes 把yes修改为no,然后:wq保存文件,
- 把服务关掉
./redis-server /home/redis-4.0.10/redis.conf 重新启动下redis
二、redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下。
1.比较安全的办法是采用绑定IP的方式来进行控制。
# If you want you can bind a single interface, if the bind option is not # specified all the interfaces will listen for incoming connections. # # bind 127.0.0.1
把# bind 127.0.0.1前面的 注释#号去掉,然后把127.0.0.1改成你允许访问你的redis服务器的ip地址,表示只允许该ip进行访问
这种情况下,我们在启动redis服务器的时候不能再用:redis-server,改为:redis-server path/redis.conf 即在启动的时候指定需要加载的配置文件,其中path/是你上面修改的redis配置文件所在目录,这个方法有一点不太好,我难免有多台机器访问一个redis服务。
2.修改设置密码
1)打开redis.conf配置文件,找到requirepass,然后修改如下:
requirepass yourpassword
yourpassword就是redis验证密码。
2)设置密码以后发现可以登陆,但是无法执行命令了。
redis-cli -h yourIp -p yourPort -a youpassword//启动redis客户端,并连接服务器 redis默认端口6379
keys * //输出服务器中的所有key
如果redis服务端没有配置密码,会得到nil,而如果配置了密码,但是redis客户端连接redis服务端时,没有用密码登录验证,会提示:operation not permitted,这时候可以用命令:auth yourpassword 进行验证密码,再执行 config set requirepass,就会显示yourpassword
由于redis并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如20位。(密码在 conf文件里是明文,所以不用担心自己会忘记)
以上是关于redis 允许远程链接的主要内容,如果未能解决你的问题,请参考以下文章