文章目录

  • 问题描述
  • 本文面临的情况
  • 准备条件
  • 操作步骤
  • 第一步:安装Redis-cli
  • 第二步:安装stunnel4
  • 第三步:开启Stunnel服务,在VM启动时自动启动
  • 第四步:在stunnel中添加redis-cli的配置项
  • 第五步:重启Stunnel服务,加载Redis配置,使用命令为
  • 第六步:检查stunnel是否已经监听6380端口,使用命令

问题描述

在Azure Redis的官方文档中,介绍了在Windows下,如何通过redis-cli.exe连接Redis, 包含如何配置stunnel使得通过 6380,SSL方式连接到Redis Cache。引用原文内容如下:

为 redis-cli.exe 启用访问权限
使用 Azure Cache for Redis 时,默认情况下仅启用 TLS 端口 (6380)。 redis-cli.exe 命令行工具不支持 TLS。 可通过两种配置方式使用该命令行工具:
启用非 TLS 端口 (6379) - 不建议采用此配置,因为在此配置中,系统通过 TCP 以明文形式发送访问密钥 。 这种更改可能会影响对缓存的访问。 仅当访问测试缓存时才考虑选择此配置。
下载并安装 stunnel。
运行 stunnel GUI Start 以启动服务器 。
右键单击 stunnel 服务器的任务栏图标,然后单击“显示日志窗口” 。
在 stunnel“日志窗口”菜单上,单击“配置” > “编辑配置”,打开当前配置文件 。
在“服务定义”部分下向 redis-cli.exe 添加以下项 。 将 yourcachename 替换为实际缓存名称。

[redis-cli]
 client = yes
 accept = 127.0.0.1:6380
 connect = yourcachename.redis.cache.chinacloudapi.cn:6380


保存并关闭配置文件。
在 stunnel“日志窗口”菜单中,单击“配置” > “重新加载配置” 。

本文面临的情况

使用Linux VM 如何连接到Azure Redis, 通过SSL方式(6380)或非SSL方式(6379)

准备条件

  • Azure Redis
  • Linux VM
  • redis-cli
  • stunnel4

操作步骤

第一步:安装Redis-cli

sudo apt-get update
sudo apt-get install redis-tools

注:redis-tools 中包含了redis-cli工具及其他reids工具

redis 开启 docker redis 开启tls_SSL

第二步:安装stunnel4

因为redis-cli.exe 工具不支持 TLS(通过6380端口连接),所以使用stunnel 来连接到Redis的6380端口. 当前使用的是第4版本的stunnel,在Linux中的安装命令如下:

sudo apt-get install stunnel4

redis 开启 docker redis 开启tls_redis 开启 docker_02


注意:

如果要使用非SSL端口6379运行Redis,在这种情况下,您无需使用stunnel,并且可以在Azure Redis缓存中开启非SSL端口的情况下直接使用以下命令进行访问:

redis-cli -p 6379 -a <access key> -h <yourcachename.redis.cache.chinacloudapi.cn>

第三步:开启Stunnel服务,在VM启动时自动启动

修改/etc/default/stunnel4配置文件,修改文件中ENABLED的值为1。使用nano编辑文件,命令为:

sudo nano /etc/default/stunnel4

通过键盘方向键移动到下图箭头处,修改ENABLED为1后,使用CRTL + X后,输入Y,来保存当前的修改。然后回车回到Linux命令窗口。

redis 开启 docker redis 开启tls_redis_03

第四步:在stunnel中添加redis-cli的配置项

在Stunnel中添加redis的配置文件,使用如下命令添加文件并且在文件中配置Redis-cli的链接信息

sudo nano /etc/stunnel/redis.conf

打开文件后,输入配置内容:

[redis-cli]
client = yes
accept = 127.0.0.1:6380
connect = yourredisname.redis.cache.chinacloudapi.cn:6380

使用CTRL + X, 输入Y,回车保存

redis 开启 docker redis 开启tls_redis 开启 docker_04

第五步:重启Stunnel服务,加载Redis配置,使用命令为

sudo systemctl restart stunnel4.service

第六步:检查stunnel是否已经监听6380端口,使用命令

sudo netstat -plunt

redis 开启 docker redis 开启tls_redis_05


###第七步:使用Redis-cli通过6380(SSL方式)连接到Redis,连接命令

redis-cli -p 6380 -a


此时,就可以看见连接成功并开始管理Redis。