设置redis允许远程访问

        通常来说,生产环境下的Redis服务器只设置为仅本机访问(Redis默认也只允许本机访问)。有时候我们也许需要使Redi能被远程访问。此文介绍配置Redis允许远程访问。

配置

修改Redis配置文件/etc/redis/redis.conf,找到bind那行配置:

# bind 127.0.0.1

注意,此处的bind是指redis监听的网卡的ip.例如:bing:127.0.0.1,那么此时redis只能接受来自于本地回环网卡的命令,所以,若想在此配置下访问redis,则连接此redis服务的命令只能是redis-cli -h 127.0.0.1,也就是说该redis服务只能通过本地访问。

去掉#注释并改为:

bind 88.100.22.11

88.100.22.11为阿里云公网ip,那么此时该redis监听的是无线网卡,只能接受来自于无线网卡的命令。

指定配置文件然后重启Redis服务即可:

$ sudo redis-server /etc/redis/redis.conf

关于bind配置的含义,配置文件里的注释是这样说的:

# By default Redis listens for connections from all the network interfaces
# available on the server. It is possible to listen to just one or multiple
# interfaces using the "bind" configuration directive, followed by one or
# more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1

远程连接

配置好Redis服务并重启服务后。就可以使用客户端远程连接Redis服务了。命令格式如下:

$ redis-cli -h {redis_host} -p {redis_port}

其中{redis_host}就是远程的Redis服务所在服务器地址,{redis_port}就是Redis服务端口(Redis默认端口是6379)。例如:

$ redis-cli -h 120.120.10.10 -p 6379
redis>ping
PONG

此时,已经可以通过远端(任意一台远程电脑)连接redis了,但是实际上我们并不希望其他人访问我们的redis服务,此时有两种解决方案:

1.给redis配置访问密码

扫描二维码关注公众号,回复: 1225134 查看本文章

找到redis.conf文件的如下配置:

#requirepass foobared 

将注释去掉,并改为:

requirepass 123456

其中123456为密码。

2.通过配置防火墙来限制运行访问指定端口的远程终端,即:固定的端口只允许固定的ip访问,换言之:指定的端口只接收和处理来自指定ip主机的请求。

防火墙的配置比较多,可参考配置:http://www.360doc.com/content/13/0808/15/13084517_305613422.shtml

猜你喜欢

转载自my.oschina.net/u/998410/blog/1584659