如何使用auth密码创建redis云连接URL

Mon*_*key 11 redis

我正在从heroku插件切换到直接redis云帐户,并且对如何使用auth信息生成redis网址感到有些困惑.

旧的heroku附加URL的格式为 redis://rediscloud:mypassword@redis...

但是,在仪表板和文档中,我没有看到任何提及密码的用户名.我是否仍在rediscloud我的新帐户和连接字符串中设置为用户名.甚至我在那里设置的用户名是什么?

All*_*son 12

    \n
  • 版本 6+ 现在支持用户:https://redis.io/topics/acl
  • \n
  • 如果您的实例没有使用访问控制列表 (ACL)(意味着您以用户身份进行身份验证default)或使用旧版本的 Redis,则应省略 Redis URL 中的用户名(例如redis://rediscloud:mypassword@...\xe2\x86 \x92 redis://:mypassword@...)
  • \n
  • 如果您在 URL 中包含用户名rediscloud,并且您的实例没有在 ACL 中配置该用户,WRONGPASSWORD那么随着更多 Redis 客户端库实现 ACL 支持,您可能会遇到错误的身份验证问题。
  • \n
\n


Ita*_*ber 11

目前(直到并包括v4),Redis不支持用户,仅提供针对全局密码的身份验证.为了符合URI RFC(https://tools.ietf.org/html/rfc3986)并基于Redis URI的临时RFC(https://www.iana.org/assignments/uri-schemes/ prov/redis),你可以传递任何东西作为用户名,包括空字符串,它就可以了(即被忽略).

PS感谢在我们的文档中提出这个默默无闻,我会看到它被修改了.


Pro*_*ton 8

当需要SSL时,这种格式对我有用:

rediss://:password=@redis-server-url:6380/0?ssl_cert_reqs=CERT_REQUIRED'
Run Code Online (Sandbox Code Playgroud)

示例如下:

CELERY_BROKER_URL='rediss://:ahhrk5958rndfngrkqoq=@my-app.redis.cache.windows.net:6380/0?ssl_cert_reqs=CERT_REQUIRED'
CELERY_RESULT_BACKEND='rediss://:ahhrk5958rndfngrkqoq=@my-app.redis.cache.windows.net:6380/1?ssl_cert_reqs=CERT_REQUIRED'
Run Code Online (Sandbox Code Playgroud)


小智 7

我用golang(https://github.com/garyburd/redigo),并连接到阿里云的云的Redis(Llink:https://www.aliyun.com/product/kvstore?spm=5176.8006303.267657.7.cW2xHP)通过连接字符串:

Redis的:// arbitrary_usrname:密码@ ip地址:6379/ 0 时0是数据库的索引和成功

  • 传递一个空的用户名似乎可以正常工作,就像在`redis://:password @ ...`中一样! (6认同)
  • 自从 Redis 6 中发布了 ACL 支持以来,用户名不再是“任意”的。URL 中包含任意用户名(如“rediscloud”)现在可能会破坏 AUTH,具体取决于客户端的身份验证逻辑。 (6认同)