【发布时间】:2021-03-16 02:20:51
【问题描述】:
我在 AWS Elasticache 上有一个 Redis 6.x 实例。它是集群的,并且具有传输中的加密。我还设置了 RBAC(在 AWS 中使用密码的用户)。我可以使用redis-cli 进行连接,然后使用AUTH <password> 进行授权,效果很好。 (它使用 Redis 6 ACL 功能)
但是,当我将密码添加到我的 Laravel 配置时,我得到了错误:
无法使用任何提供的种子映射集群键空间
如果我从 Elasticache 中的用户那里删除密码,Laravel 连接良好并完美使用 Redis。
这是我的配置。我的 env 文件中的密码是正确的,并且由于集群,在默认连接和 options['parameters'] 键中都添加了密码。
'redis' => [
'client' => 'phpredis',
'cluster' => true,
'clusters' => [
'default' => [
[
'scheme' => 'tls',
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
'options' => [
'cluster' => 'redis',
],
],
'options' => [
'parameters' => [
'scheme' => 'tls',
'password' => env('REDIS_PASSWORD', null),
],
'ssl' => ['verify_peer' => false],
'context' => [],
],
],
我以前见过这个错误,但它似乎是在发生不好的事情时发生,而不是给我具体细节。例如,如果我删除了密码,并限制了某些访问权限,如 SET 或 READ/WRITE 命令,那么我也会得到相同的错误,因此很难破译错误是什么。
【问题讨论】:
-
这里有同样的问题吗?你能克服这个问题吗?
标签: laravel amazon-web-services redis amazon-elasticache