【Azure Redis 缓存】Linux VM使用6380端口(SSL方式)连接Azure Redis (redis-cli & stunnel)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【Azure Redis 缓存】Linux VM使用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。 可通过两种配置方式使用该命令行工具:

  1. 启用非 TLS 端口 (6379) - 不建议采用此配置,因为在此配置中,系统通过 TCP 以明文形式发送访问密钥 。 这种更改可能会影响对缓存的访问。 仅当访问测试缓存时才考虑选择此配置。
  2. 下载并安装 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

  1. 保存并关闭配置文件。
    在 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的时候,如果遇见连接错误,如何来检查Redis的网络情况及端口是否正常ping通。可以使用以下方式。

一:使用telnet 命令,连接到Redis

telnet yourredisname.redis.cache.chinacloudapi.cn port

如:

 

 

二:使用tcpping命令长ping redis服务,查看网络情况

由于TCPPING命令需要在Linux中安装。命令如下:

####To install tcptraceroute on Debian/Ubuntu:
$ sudo apt-get install tcptraceroute
####To install tcptraceroute on CentOS/REHL, first set up RepoForge on your system, and then:
$ sudo yum install tcptraceroute
####Finally, download tcpping from the web.
$ cd /usr/bin
$ sudo wget http://www.vdberg.org/~richard/tcpping
$ sudo chmod 755 tcpping
####To measure network latency by using tcpping, simply run it as follows.
$ tcpping yourredisname.redis.cache.chinacloudapi.cn 6379
seq 0: tcp response from 139.219.6.4 [open] 31.382 ms
seq 1: tcp response from 139.219.6.4 [open] 26.407 ms
seq 2: tcp response from 139.219.6.4 [open] 34.900 ms
seq 3: tcp response from 139.219.6.4 [open] 38.130 ms
seq 4: tcp response from 139.219.6.4 [open] 37.641 ms
seq 5: tcp response from 139.219.6.4 [open] 29.953 ms
seq 6: tcp response from 139.219.6.4 [open] 31.179 ms
seq 7: tcp response from 139.219.6.4 [open] 26.353 ms
seq 8: tcp response from 139.219.6.4 [open] 24.195 ms
seq 9: tcp response from 139.219.6.4 [open] 29.222 ms

 

参考资料:

使用 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

How to install tcpping on Linux : https://gist.github.com/cnDelbert/5fb06ccf10c19dbce3a7

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
网络安全 数据库
YashanDB HA节点间SSL连接配置
本指南介绍HA内部节点链路的SSL连接配置,包括客户端监听与HA节点自身监听两种方式。需使用OpenSSL工具生成证书,具体步骤参考数据库服务端SSL连接配置文档。此外,还需在数据库中开启HA的SSL连接开关并设置证书路径(仅支持绝对路径,长度≤254字节),最后重启数据库以完成配置。确保服务器已安装所需工具,详细操作请查阅相关文档。
YashanDB HA节点间SSL连接配置
|
3月前
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
3月前
|
安全 Linux 网络安全
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
|
3月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
|
7月前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
1429 160
|
5月前
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
237 30
|
6月前
|
安全 网络协议 网络安全
【Azure APIM】APIM服务配置网络之后出现3443端口不通,Management Endpoint不健康状态
如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。
136 30
|
8月前
|
监控 NoSQL 网络协议
【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题
查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。 开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
130 7
|
9月前
|
NoSQL 网络协议 算法
Redis 客户端连接
10月更文挑战第21天
115 1
|
22天前
|
安全 数据建模 应用服务中间件
阿里云SSL证书价格、证书类型及免费版证书申请和证书部署教程参考
阿里云SSL证书有收费版也有免费版,收费版DV域名级SSL类型405元起,免费版证书为DV域名级SSL类型,每个实名个人和企业主体在一个自然年内可以一次性领取20张免费证书。本文为大家详细介绍阿里云SSL证书价格情况,包括不同域名类型、证书类型、证书等级和证书品牌的相关收费标准,以及免费版证书的申请和部署教程参考。