searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Redis配置文件之bind配置实践

2024-04-30 02:34:45
3
0

之前使用bind配置时,经常被困扰,以为bind配置,是配置白名单,配置了对应的客户端ip,那么该客户端才能访问Redis,今天恰好使用到了该配置,为了验证之前的想法时候正确,自己动手实践一下:

当前机器有eth0、eth1、lo网卡

lo 对应本地ip - 127.0.0.1

eth0: 对应ip - 192.168.0.62

eth1: 对应ip - 33.0.1.28

首先,验证最初的想法, 修改redis的配置文件,bind配置客户端的ip地址172.168.0.62,然后重启redis实例,

等了许久,未发现redis启动,有点奇怪,检查一下redis的启动日志,发现报错如下,服务端不能监听该Ip:port,这就与之前的白名单想法冲突了,配置了客户端地址反而启动失败了!!!

继续验证,修改配置文件,bind 配置了127.0.0.1, 重启redis实例,然后通过客户端连接./redis-cli -h 127.0.0.1 -p 20032,发现可以连接,但是redis-cli -h 192.168.0.62 -p 20032和redis-cli -h 33.0.1.28 -p 20032连接被拒绝了。那如果bind配置改成192.168.0.62会怎么样?

 

继续验证,修改配置文件,bind 配置成192.168.0.62,./redis-cli -h 192.168.0.62  -p 20032,发现可以连接,但是redis-cli -h 127.0.0.1 -p 20032和redis-cli -h 33.0.1.28 -p 20032连接被拒绝了,这时心里大概明白怎么回事了。

 

继续验证,修改配置文件,bind 配置成33.0.1.28,./redis-cli -h 33.0.1.28  -p 20032,发现可以连接,但是redis-cli -h 127.0.0.1 -p 20032和redis-cli -h 192.168.0.62 -p 20032连接被拒绝了。

 

如果bind绑定33.0.1.28,192.168.0.62,那redis-cli -h 192.168.0.62 -p 20032和redis-cli -h 33.0.1.28 -p 20032都可以访问了!

 

实验到这里就清晰了,

  • bind指定单个地址, 例如 bind 127.0.0.1, 那么Redis 只监听本地回环接口上的连接请求;
  • 指定多个地址:你也可以在 bind 中指定多个 IP 地址,用空格分隔,例如 bind 168.0.62,那么Redis 同时监听本地回环接口和指定的 IP 地址上的连接请求;
  • 如果未在配置文件中显式设置 bind,Redis 默认将监听所有可用网络接口上的连接请求;
0条评论
0 / 1000
w****n
12文章数
1粉丝数
w****n
12 文章 | 1 粉丝
原创

Redis配置文件之bind配置实践

2024-04-30 02:34:45
3
0

之前使用bind配置时,经常被困扰,以为bind配置,是配置白名单,配置了对应的客户端ip,那么该客户端才能访问Redis,今天恰好使用到了该配置,为了验证之前的想法时候正确,自己动手实践一下:

当前机器有eth0、eth1、lo网卡

lo 对应本地ip - 127.0.0.1

eth0: 对应ip - 192.168.0.62

eth1: 对应ip - 33.0.1.28

首先,验证最初的想法, 修改redis的配置文件,bind配置客户端的ip地址172.168.0.62,然后重启redis实例,

等了许久,未发现redis启动,有点奇怪,检查一下redis的启动日志,发现报错如下,服务端不能监听该Ip:port,这就与之前的白名单想法冲突了,配置了客户端地址反而启动失败了!!!

继续验证,修改配置文件,bind 配置了127.0.0.1, 重启redis实例,然后通过客户端连接./redis-cli -h 127.0.0.1 -p 20032,发现可以连接,但是redis-cli -h 192.168.0.62 -p 20032和redis-cli -h 33.0.1.28 -p 20032连接被拒绝了。那如果bind配置改成192.168.0.62会怎么样?

 

继续验证,修改配置文件,bind 配置成192.168.0.62,./redis-cli -h 192.168.0.62  -p 20032,发现可以连接,但是redis-cli -h 127.0.0.1 -p 20032和redis-cli -h 33.0.1.28 -p 20032连接被拒绝了,这时心里大概明白怎么回事了。

 

继续验证,修改配置文件,bind 配置成33.0.1.28,./redis-cli -h 33.0.1.28  -p 20032,发现可以连接,但是redis-cli -h 127.0.0.1 -p 20032和redis-cli -h 192.168.0.62 -p 20032连接被拒绝了。

 

如果bind绑定33.0.1.28,192.168.0.62,那redis-cli -h 192.168.0.62 -p 20032和redis-cli -h 33.0.1.28 -p 20032都可以访问了!

 

实验到这里就清晰了,

  • bind指定单个地址, 例如 bind 127.0.0.1, 那么Redis 只监听本地回环接口上的连接请求;
  • 指定多个地址:你也可以在 bind 中指定多个 IP 地址,用空格分隔,例如 bind 168.0.62,那么Redis 同时监听本地回环接口和指定的 IP 地址上的连接请求;
  • 如果未在配置文件中显式设置 bind,Redis 默认将监听所有可用网络接口上的连接请求;
文章来自个人专栏
redis
12 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0