在AWS中连接到redis缓存时,我收到以下错误。在本地主机上,它工作正常。 任何人都可以建议出了什么问题。
我们在 AWS 上确实有 VPC,可以访问 VPC 等其他资源,但无法连接到 Redis 集群。
.Redis.RedisConnectionException:无法连接到 红地斯服务器;要创建断开连接的多路复用器,请禁用 AbortOnConnectFail.PINGat 上的套接字故障 StackExchange.Redis.ConnectionMultiplexer.ConnectImpl(Func
1 multiplexerFactory, TextWriter log) in c:codeStackExchange.RedisStackExchange.RedisStackExchangeRedisConnectionMultiplexer.cs:line 890at StackExchange.Redis.ConnectionMultiplexer.Connect(String configuration, TextWriter log) in c:codeStackExchange.RedisStackExchange.RedisStackExchangeRedisConnectionMultiplexer.cs:line 855at TeamSports.Shared.CacheManager.RedisConnectionFactory.<>cDisplayClass1_0.<.ctor>b0()at System.Lazy
1.ViaFactory(LazyThreadSafetyMode mode(at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)at System.Lazy
1.CreateValue((at TeamSports.Shared.CacheManager.RedisConnectionFactory.Connection((at TeamSports.Shared.CacheManager.CacheManager..ctor(IConfigurationManager 配置管理器, IHosting环境, ILogger'1 记录
您是否在 VPC 中使用托管在您自己的虚拟机上的 AWS 弹性缓存或 redis ?
如果 redis 是自托管的,请确保 Redis 服务器本身绑定在正确的地址上。它可能绑定到127.0.0.1
这将阻止其他服务器与之通信。它必须绑定到0.0.0.0
或内部非环回地址。
还要验证两个服务器之间的安全组规则是否允许 redis 计算机接受从服务器侦听的端口 Redis 上的连接(默认情况下为端口 6379
(。如果您也使用 ElastiCache,这是有效的。
其次,由于从您的问题中还不完全清楚,您的软件是否期望在本地主机上出现不存在的 redis?您应该验证应用程序是否正在尝试访问正确的地址。
我通过配置安全规则解决了它。以下是详细信息:
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.ElastiCache.html