使用hubot-redis-brain来设置带有身份验证的Redis服务器

在这篇文章中,我们正在使用 hubot-redis-brain 0.0.3。

我尝试使用 Azure Redis 缓存将 hubot-redis-brain 的 Redis 服务器替换成 Redis 缓存。
(虽然我想过启用 SSL 访问可能更好,但我暂时选择使用 http 继继续进行)

当你在Azure Portal中查看Azure Redis Cache的连接信息时,连接时需要指定密码。
在调研和查找资料的过程中,我们了解到了如何配置hubot-redis-brain使用的Redis服务器。

總結

请以 “REDIS_URL” 环境变量的形式设置为 redis://${auth}@${host}:${port}/${prefix}。

パラメータデフォルト設定値auth
パスワード認証が必要な場合は、 :${password} で指定。パスワード前に’:’がある点に注意!host
RedisサーバのFQDN、IPアドレスport6379ポートprefixhubotRedisに投入する際のキーのプリフィックス

我陷入了一股潮流。

首先,我查找了 hubot-redis-brain 使用 Redis 服务器的配置方法。
在 https://github.com/hubot-scripts/hubot-redis-brain 中,有如下说明。

hubot-redis-brain需要一个redis服务器才能工作。它使用REDIS_URL环境变量来确定连接位置。默认连接到本地主机上的端口6379(即redis默认配置)。

可以使用REDIS_URL来设置以下属性:

身份验证
主机名
端口
键前缀
例如,使用export REDIS_URL=redis://passwd@192.168.0.1:16379/prefix可以进行密码身份验证,连接到192.168.0.1的16379端口,并使用prefix:storage键来存储数据。

我尝试使用 redis://${password}@${host}:${port}/${prefix} 的格式来配置 REDIS_URL,然后立即进行了配置。从日志中看,连接似乎成功了,但是并没有向 Redis 中投入信息。

INFO hubot-redis-brain: Discovered redis from REDIS_URL environment variable
DEBUG hubot-redis-brain: Successfully connected to Redis

通常情况下,当在URL中嵌入认证信息时,我们会这样写:http://user:password@example.com/。
在查看hubot-redis-brain的代码之前,我们发现${password}部分被视为认证信息,并通过’:’分割,将第二个参数作为密码使用。
尝试以redis://:${password}@${host}:${port}/${prefix}的格式进行设置,开始向Redis中投入信息!
日志中也显示认证成功。

INFO hubot-redis-brain: Discovered redis from REDIS_URL environment variable
INFO hubot-redis-brain: Successfully authenticated to Redis
DEBUG hubot-redis-brain: Successfully connected to Redis
INFO hubot-redis-brain: Data for hubot brain retrieved from Redis

喜上添喜,喜事连连。

广告
将在 10 秒后关闭
bannerAds