今天在云服务器上搭建好了redis环境,想用RedisDesktopManager工具去连接一下,结果连接不上,显示如下图:
我确保了服务器防火墙关闭,又在redis配置文件中设置了requirepass 密码,但还是失败。在自己电脑上也能够ping通服务端ip地址。
我就看了一下redis.conf文件。开头就有写原因:
################################## NETWORK #####################################
# By default, if no "bind" configuration directive is specified, Redis listens
# for connections from all the network interfaces available on the server.
# It is possible to listen to just one or multiple selected interfaces using
# the "bind" configuration directive, followed by one or more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1 这里是告诉我们可以绑定多个ip来连接redis服务端
# bind 127.0.0.1 ::1
#
# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
# internet, binding to all the interfaces is dangerous and will expose the 翻译一下大概 注意:如果redis直接暴露在互联网,绑定所有接口是非常危险的,因此我们没有注释下面的绑定指令
# instance to everybody on the internet. So by default we uncomment the bind 127.0.0.1 这个相当于只绑定在服务端本地,也就是说只能在服务端连接redis,进行操作
# following bind directive, that will force Redis to listen only into
# the IPv4 lookback interface address (this means Redis will be able to
# accept connections only from clients running into the same computer it
# is running).
#
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES 如果你想要开放所有ip接口,注释下面这行
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#bind 127.0.0.1
就直接注释bind 127.0.0.1,重启一下让配置生效,再进行远程连接就ok了: