【发布时间】:2020-11-01 22:57:15
【问题描述】:
我正在开发一个 Laravel 应用程序。我使用 Redis,并且为此使用 AWS ElasticCache 服务。我正在尝试从我的 Laravel 应用程序连接到 Redis。但它正在超时。这就是我所做的。
我通过运行以下命令安装了 Predis 库。
composer require predis/predis
然后我在 ElastiCache 服务控制台中创建了一个 Redis 实例,启用 AUTH 设置我的密码令牌。
然后我在 .env 文件中设置变量。
CACHE_DRIVER=redis
REDIS_CLIENT=predis
REDIS_HOST=master.laravelredistest.8sm3xo.euw1.cache.amazonaws.com
REDIS_PASSWORD=mypassword
REDIS_PORT=6379
当我运行代码连接到 Redis 时,出现以下错误。
Operation timed out [tcp://master.laravelredistest.8sm3xo.euw1.cache.amazonaws.com:6379]
我的配置缺少什么以及如何修复它?
我还更新了 Redis 的安全组,允许 EC2 实例的安全组在入站规则中如下:
这次我遇到了这个错误:
我编辑了 Redis 的 SG 也添加了以下入站规则。
正如您在屏幕截图中看到的那样,安全组也在同一个 VPC 中:
【问题讨论】:
-
您是否允许从您的实例对安全组进行入站访问?
-
您好,我正在使用启用身份验证的模式。我不能只使用密码连接吗?我正在将我的应用程序部署到 EB。这将是额外的配置。
-
您还需要通过安全组进行入站访问:)
-
嗨...您解决了这个问题...感谢您分享您的解决方案如何解决它...我有同样的问题...
标签: laravel amazon-web-services redis amazon-elasticache