【问题标题】:Accessing Redis server on AWS访问 AWS 上的 Redis 服务器
【发布时间】:2015-09-08 23:35:35
【问题描述】:

我无法从远程 AWS 实例连接到我的 Redis 服务器(虽然两个实例都在同一个 VPC 中)...

我已经启动了 CentOS 6 实例并启动了 Redis 服务器。我可以确认服务器正在运行:

tcp        0      0 *:6379     *:*    LISTEN   891/redis-server *
tcp        0      0 *:6379     *:*    LISTEN   891/redis-server *

我已将 AWS 安全组设置为:

Custom TCP | port 6379 | 0.0.0.0/0

我可以使用 redis-cli 从同一实例连接到 Redis 服务器,但是当我尝试从其他 AWS 实例连接时,我得到:

Could not connect to Redis at ec2-*.compute.amazonaws.com:6379: No route to host

【问题讨论】:

  • redis 配置中的bind 选项被注释...你建议我应该放什么来支持远程连接?
  • @ItamarHaber 这与事实完全相反。 0.0.0.0 表示所有网络接口都接受连接。
  • @hobbs 你当然是对的 - 哎呀。

标签: amazon-web-services amazon-ec2 redis


【解决方案1】:

似乎您正在使用127.0.0.1 IP 进行绑定,而不是0.0.0.0。打开您的/etc/redis.conf 并检查bind 选项。

【讨论】:

  • 绑定选项被评论了,我已经把bind 0.0.0.0。现在netstat 给了我列Program name,输出有点不同:1181/redis-server 0。如果您可以查看对该问题的第一条评论,Itamar 是否建议相反?知道发生了什么吗?
【解决方案2】:

原来防火墙已打开,因此无法从外部连接。所以总结一下:

1.通过在redis.conf中设置bind 0.0.0.0来设置Redis允许远程连接

2.确保防火墙没有阻止您连接到服务器。在 AWS 上,您可以通过以下方式将其关闭:

sudo service iptables save
sudo service iptables stop
sudo chkconfig iptables off

【讨论】:

    猜你喜欢
    • 2012-12-26
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 2018-10-16
    • 2021-10-03
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多