Redis 6 aclfile 在 Openshift pod 中未生效

问题描述

我已将 Redis 6.2.1 的 Docker 映像部署到 Openshift。它被配置为接受来自另一个 Openshift 项目的连接。保护模式开启,我在 redis.conf 中正确配置了用户。另一个项目使用 wordpress 和 Redis Object Cache 插件。还有一些 PHP 测试脚本。当Redis这样配置时,他们可以连接到Redis

Protected-mode yes
user benfa allcommands allkeys on >'password'
user tester allcommands allkeys on >'password'
#requirepass ‘password’

未为绑定设置分配任何值。

但是,当我尝试使用 aclfile 时,某些东西会阻止 wordpress 插件和测试脚本连接到 Redis在这个配置中,认密码没有注释,上面显示的两个新用户条目在 redis.conf 中注释并放入 aclfile 中。 aclfile 条目未注释:

aclfile /usr/local/etc/redis/users.acl

aclfile 可从 bash 提示符读取。 redis-cli 显示条目存在于 Redis 中:

127.0.0.1:6379> ACL LIST
1) "user benfa on #b8322ddb42b735cd560d31292112fd65337b556ce6e632cb22c56cfc94482dbb ~* &* +@all"
2) "user default on nopass ~* &* +@all"
3) "user supertron on #751961f8063663d258da6c0c9376e1e08b771258e6d2df727a3424d8c18b5022 ~* &* +@all"
4) "user tester on #ac3e22b8658551f198c5d00e8fb68f4e135d7e896e9b37e65565697c60249b9c ~* &* +@all"

wordpress 插件PHP 测试脚本返回了冗长的错误消息。它告诉我做四件事之一。我已经完成了第 4 步,设置了身份验证密码:

"DENIED Redis 在保护模式下运行,因为启用了保护模式,未指定绑定地址,未向客户端请求验证密码。在此模式下,仅接受来自环回接口的连接。如果您想从外部连接计算机连接到 Redis,您可以采用以下解决方案之一:1) 只需禁用保护模式,通过从运行服务器的同一主机连接到 Redis,从环回接口发送命令“CONfig SET protected-mode no”,但是请确保 Redis如果这样做,则不能从 Internet 公开访问。使用 CONfig REWRITE 使此更改永久化。2) 或者,您可以通过编辑 Redis 配置文件禁用保护模式,并将保护模式选项设置为“否”,然后重新启动服务器。3)如果您手动启动服务器只是为了测试,请使用“--protected-mode no”选项重新启动它。4)设置绑定地址或身份验证密码。注意:您只需要执行上述操作之一,以便服务器开始接受来自外部的连接。”

是什么阻止了 aclfile 生效?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)