打开redis端口进行远程连接
我可以在服务器上ping乒乓redis
# redis-cli ping PONG
但远程有问题:
$ src/redis-cli -h REMOTE.IP ping Could not connect to Redis at REMOTE.IP:6379: Connection refused
在configuration我得到了标准端口:
# Accept connections on the specified port, default is 6379. # If port 0 is specified Redis will not listen on a TCP socket. port 6379
那么也许我应该在远程Ubuntu机器上打开端口6379? 怎么做?
你有没有设置绑定选项,以允许在Redis服务器上的远程访问?
之前(文件/etc/redis/redis.conf
)
bind 127.0.0.1
后
bind 0.0.0.0
并运行sudo service redis-server restart
来重启服务器。 如果这不是问题,则可能需要检查任何可能阻止访问的防火墙。
重要:如果您不使用防火墙(iptables,ufw ..)来控制连接到正在使用的端口的用户,则任何人都可以连接到此Redis实例。 没有使用Redis的AUTH
,这意味着任何人都可以访问/更改/删除您的数据。 注意安全!
对我而言,我需要做以下工作:
1-注释掉bind 127.0.0.1
2-将protected-mode
更改为no
3-使用iptables
保护我的服务器( https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on-ubuntu-14-04 )
一个简单的说明,这样做,而不进一步保护您的Redis服务器不是一个好主意,因为它可以让你打开攻击。 一定要实现AUTH或以其他方式保证这一点。 有关详细信息,请参阅http://redis.io/topics/security 。
1-注释掉绑定127.0.0.1
2-设置requirepass密码
然后检查防火墙是否阻塞了您的端口
iptables -L -n
服务iptables停止