【Azure Redis 缓存】Linux虚拟机中使用6380端口(SSL方式)连接Azure Redis (redis-cli & stunnel)
问题描述
在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工具

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

注意:
如果要使用非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命令窗口。

第四步:在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,回车保存

第五步:重启Stunnel服务,加载Redis配置,使用命令为
sudo systemctl restart stunnel4.service
第六步:检查stunnel是否已经监听6380端口,使用命令
sudo netstat -plunt

第七步:使用Redis-cli通过6380(SSL方式)连接到Redis,连接命令
redis-cli -p 6380 -a <your redis access key>
此时,就可以看见连接成功并开始管理Redis。

[以上,希望对您有所帮助。]
参考资料:
使用 Redis 命令行工具进行连接: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-redis-cli-tool#enable-access-for-redis-cliexe
Connect to Azure Cache for Redis using SSL Port 6380 from Linux VM: https://techcommunity.microsoft.com/t5/azure-paas-blog/connect-to-azure-cache-for-redis-using-ssl-port-6380-from-linux/ba-p/1186109
【Azure Redis 缓存】Linux虚拟机中使用6380端口(SSL方式)连接Azure Redis (redis-cli & stunnel)的更多相关文章
- Jedis测试redis。(redis在linux虚拟机中)
文章目录 1.确保虚拟机开启.并且连接到redis 2.建立一个maven工程 3.在pom中加入jedis的依赖 4.编写测试用例 5.测试结果 1.确保虚拟机开启.并且连接到redis 2.建立一 ...
- linux虚拟机中各服务端口及配置文件路径
查询端口状况命令: netstat -an| grep 端口号 查询服务状态(服务是否开启)命令:systemctl status 服务名 开启服务命令:systemctl start 服务名 ...
- 设置Windows Azure Linux虚拟机中的root账户
使用Windows Azure 创建好Linux虚拟机之后,如果你使用默认的用户密码登陆root是不行的,如下图所示: 其原因是Windows Azure创建Linux虚拟机时并没有同时设置root密 ...
- linux虚拟机中安装mongodb
今天在linux虚拟机中安装了mongodb数据库,安装过程主要参照了网上的一片文档,大部分地方都没有多大区别,只是在某些细节上有所改变. 我参考的文档是:http://my.oschina.net/ ...
- 如何在VMware ubuntu linux虚拟机中安装VMware tools
VMware Tools可以实现在主机<->虚拟机之间拷贝文字.文件等功能.本文讲述如何在VMware ubuntu linux虚拟机中安装VMware tools. 测试环境: VMwa ...
- 39、生鲜电商平台-redis缓存在商品中的设计与架构
说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc ...
- Java生鲜电商平台-redis缓存在商品中的设计与架构
Java生鲜电商平台-redis缓存在商品中的设计与架构 说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而 ...
- 在windows中使用Navicat连接Linux虚拟机中的mysql数据库
今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对远程用户登陆的授权问题.这里说一下我的解决方法.(本人小白) 首先,我用navicat去远 ...
- springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
文章目录 1.前提条件:确保虚拟机开启.并且连接到redis 2.新建立一个springboot项目,创建项目时勾选web选项 3.在pom中引入redis依赖 4.在application.prop ...
随机推荐
- 编程C语言进阶篇——自定义数据类型:共同体
什么是"自定义数据类型"?顾名思义,就是用户可以随时在程序中自行定义新的数据类型.自定义数据类型时需要设置数据类型的名称及其成员.数据类型成员各属性的设置方法等同于变量设置时相应属 ...
- Python是什么?
Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年. 像 Perl ...
- java线程与内存的关系
转载: https://blog.csdn.net/hellozhxy/article/details/91972846
- 【mq学习笔记】mq 过期文件删除机制
broker不会关注这个文件上的消息是否全部被消费.默认每个文件的过期时间为72小时.
- day100:MoFang:用户模型类的创建&Marshmallow模块&使用基本构造器Schema完成数据的序列化转换和反序列化转换
目录 1.用户模型的创建 2.Marshmallow模块 3.MarshMallow基本构造器:Schema 1.基于Schema完成数据序列化转换 2.基于Schema完成数据反序列化转换 3.反序 ...
- JZOJ8月10日提高组反思
JZOJ8月10日提高组反思 T1 没想到怎么打 就去打暴力了 本来想拿个30不错了 结果\(AC\)了 话说回来,数据也挺小的 T2 不AC便爆0 就一个数据点 给不给打暴力的人活了 正解是状压DP ...
- 转:【Python3网络爬虫开发实战】 requests基本用法
1. 准备工作 在开始之前,请确保已经正确安装好了requests库.如果没有安装,可以参考1.2.1节安装. 2. 实例引入 urllib库中的urlopen()方法实际上是以GET方式请求网页,而 ...
- PyQt(Python+Qt)学习随笔:Action功能详解及Designer中的操作方法
老猿Python博文目录 老猿Python博客地址 一.引言 Qt Designer中的部件栏并没Action相关的部件,Action可以在右侧的Action Editor中编辑,如图: 如果没有出现 ...
- 学习tcp和udp
tcp和udp的差别 tcp和udp是不一样的 tcp是一个可靠的连接,如果发出一个tcp请求,那么就一定要回复一个请求 而udp是不需要回复的,就像QQ一样,只要发过来就可以了,不管别人在不在线,发 ...
- 实验吧 Once more
0x1函数解析 ereg(): *用指定的模式搜索一个字符串中指定的字符串,如果匹配成功返回true,否则,则返回false. 搜索字母的字符是大小写敏感的. * 此函数存在两个漏洞: ①%00截断及 ...