在腾讯云上搭建Redis集群访问的问题

求各位大佬帮忙,弄了一天了。我是刚学习redis集群的搭建。按照网上的步骤,然用ruby后来搭建redis集群。一开始遇到的一个坑是在配置文件中添加bind (腾讯云的外网ip)之后 启动redis没反应 删掉这一段就可以启动。 图片说明
然后是在启动集群的时候输入外网ip就有下面的提示 用127.0.0.1:7000就可以正常启动。 图片说明

在服务器上是可以正常存取数据的(用xshell链接),
图片说明

但是在项目上连接使用就会报错。

Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect
    at redis.clients.jedis.Connection.connect(Connection.java:207)
    at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)
    at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1767)
    at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:106)
    at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:888)
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:432)
    at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:361)
    at redis.clients.util.Pool.getResource(Pool.java:49)
    ... 66 common frames omitted
Caused by: java.net.ConnectException: Connection refused: connect

我又在网上查 说是redis服务没开。但是我也不知道怎么解决。 求各位大手子帮忙解决一下。

我在网上看的用cluster nodes查看 cluster的状态,发现它的ip是127.0.0.1的 ,我想问下是不是这个原因。但是我用外网ip启动和内网ip启动都报错啊,只有用127.0.0.1启动的时候才成功。求解求解图片说明

看一下防火墙关没关。再看看服务状态

127.0.0.1是本机地址 。项目要访问的话地址也必须配置127.0.0.1。如果是配置外网地址 ,就是内网回路ip,你现在的外网ip是互联网外网IP,这个ip的端口必须配置安全策略,关闭防火墙。很麻烦,而且不安全。

这种问题别问csdn,回复慢,直接下工单问腾讯云,他们如果客服搞不定你可以试着直接问他们技术联系方式,直接问他们搞定
腾讯云的内外网ip什么的,还有各种连接策略,你不写明了,也不知道你踩到哪个坑了。

1、去掉redis.conf中bind那一行
2、添加protected-mode no
3、在远程机器上通过telnet命令测试端口是否允许访问
4、集群构建时,./redis-cli --cluster create 公网IP:6001 公网IP:6002 公网IP:6003 公网IP:6004 公网IP:6005 公网IP:6006 --cluster-replicas 1

find / -name 'client.rb'
vim /usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.0/lib/redis/client.rb
找下对应文件把你的密码设置进去
你这个方式部署集群不支持带密码的
class Client
DEFAULTS = {
:url => lambda { ENV["REDIS_URL"] },
:scheme => "redis",
:host => "127.0.0.1",
:port => 6379,
:path => nil,
:timeout => 5.0,
:password => "你的密码写在这里",
:db => 0,
:driver => nil,
:id => nil,
:tcp_keepalive => 0,
:reconnect_attempts => 1,
:inherit_socket => false
}