我们正在使用ElasticBeanstalk来设置一些Node.js环境。现在,我们使用Redis作为我们的会话存储,它是在ElastiCache中设置的。
当我ssh进入EC2实例,并且netcat存储Redis时,我可以确认网络允许通过端口6379进行连接:
[ec2-user@<redacted>]$ nc -v <redacted>.usw2.cache.amazonaws.com 6379
Connection to <redacted>.usw2.cache.amazonaws.com 6379 port [tcp/*] succeeded!
EC2安全组的出站策略:0.0.0.0/0
EC2安全组的入站策略允许我的Redis安全组在端口6379上传入TCP。
这似乎支持了我们看到的netcat成功pinging商店的观察结果。然而,当尝试连接到Redis时,Node.js应用程序本身就会挂起。我可以通过运行以下命令将其复制到EC2实例上:
[ec2-user@<redacted>]$ ./redis-cli -c -h <redacted>.usw2.cache.amazonaws.com -p 6379 ping
这将保持挂起状态,我们不会收到任何PONG
响应。鉴于netcat的成功,我相当有信心这不是一个安全组问题,但这里肯定有一些看起来不可靠的东西。
有什么想法吗?
发布于 2019-03-11 05:41:26
问题是ElastiCache被配置为在传输和静态时进行加密。事实证明,我们在这个特定的实例中不需要它,所以一旦我们删除了它,事情就开始工作了。如果我们保持加密的话,实际的解决方案会是什么?
https://stackoverflow.com/questions/55090822
复制相似问题