如何创建一个带有认证密码的redis云连接url

cczfrluj  于 2022-12-11  发布在  Redis
关注(0)|答案(4)|浏览(229)

我正在从heroku插件切换到直接的redis云账户,我对如何生成带有auth信息的redis网址有点困惑。
旧的heroku加载项url的格式为redis://rediscloud:mypassword@redis...
但是在 Jmeter 板和文档中,我没有看到任何与密码沿着使用的用户名。我是否仍然在我的新帐户和连接字符串中设置rediscloud作为用户名。我在那里设置什么作为用户名有关系吗?

o2gm4chl

o2gm4chl1#

我使用golang(https://github.com/garyburd/redigo)并连接到阿里云Redis(链接:(https://www.aliyun.com/product/kvstore?spm=5176.8006303.267657.7.cW2xH
通过连接字符串:
redis://任意用户名:密码@ IP地址:6379/0
当0是数据库索引且成功时

dfuffjeb

dfuffjeb2#

At the moment (up to and including v4), Redis doesn't support users and only provides authentication against a global password. In order to be compliant with the URI RFC ( https://www.rfc-editor.org/rfc/rfc3986 ) and based on the provisional RFC for Redis URIs ( https://www.iana.org/assignments/uri-schemes/prov/redis ), you can pass anything as a username, including the empty string, and it will be okay (i.e. ignored).
P.S. thanks for bringing up this obscurity in our docs, I'll see that it is amended.

j91ykkif

j91ykkif3#

  • 版本6+现在支持用户:https://redis.io/topics/acl
  • 如果您的示例没有使用访问控制列表(ACL)(也就是说您是以default用户身份进行身份验证),或者您使用的是旧版本的Redis,那么您应该在Redis URL中省略用户名(例如:redis://rediscloud:mypassword@...redis://:mypassword@...
  • 如果您在URL中包含了一个用户名,比如rediscloud,而您的示例没有在ACL中配置该用户,那么随着越来越多的Redis客户端库实现ACL支持,您可能会遇到WRONGPASSWORD错误的授权问题。
qyswt5oh

qyswt5oh4#

当需要SSL时,此格式适用于我:

rediss://:password=@redis-server-url:6380/0?ssl_cert_reqs=CERT_REQUIRED'

示例如下:

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'

相关问题