Posso fazer ping pong Redis no servidor:
# redis-cli ping
PONG
Mas, remotamente, tenho problemas:
$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused
Na configuração, obtive a porta padrão:
# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379
Então, talvez eu deva abrir a porta 6379 na máquina Ubuntu remota? Como eu faço isso?
Respostas:
Você definiu a opção de vinculação para permitir acesso remoto no servidor redis?
Antes (arquivo
/etc/redis/redis.conf
)Depois de
e execute
sudo service redis-server restart
para reiniciar o servidor. Se esse não for o problema, você pode verificar os firewalls que podem bloquear o acesso.Importante: Se você não usar um firewall (iptables, ufw ..) para controlar quem se conecta à porta em uso, QUALQUER UM pode se conectar a esta instância do Redis. Sem usar o Redis,
AUTH
isso significa que qualquer pessoa pode acessar / alterar / excluir seus dados. Esteja a salvo!fonte
bind 0.0.0.0
após stringbind 127.0.0.1
. Redis reiniciado. E agora pode se conectar remotamente.bind 0.0.0.0
sozinho vsbind 127.0.0.1 0.0.0.0
Para mim, eu precisava fazer o seguinte:
1- Comente
bind 127.0.0.1
2- Mudar
protected-mode
parano
3- Proteja meu servidor com
iptables
( https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on-ubuntu-14-04 )fonte
Uma observação rápida de que fazer isso sem proteger ainda mais o servidor Redis não é uma boa ideia, pois pode deixá-lo vulnerável a ataques. Certifique-se de também implementar AUTH ou de outra forma proteger isso. Consulte http://redis.io/topics/security para obter detalhes.
fonte
1- Comente o bind 127.0.0.1
2- definir exigir a sua senha
em seguida, verifique se o firewall bloqueou sua porta
iptables -L -n
serviço iptables parar
fonte
Abra $ REDIS_HOME / redis.conf, descomente
requirepass -YOUR-PASSWORD-HERE-
e anote sua senha nas linhas especificadas.Faça login no redis usando redis-cli e verifique sua senha no banco de dados usando o
auth -YOUR-PASSWORD-HERE-
comando.Desative o modo protegido alterando sua string em $ REDIS_HOME / redis.conf para
protected-mode no
.Pesquise todos os valores de portas de ligação e comente todos eles. Basta adicionar
bind 0.0.0.0
ao arquivo $ REDIS_HOME / redis.conf.Desative seu firewall ou abra a porta redis.
Comece a redis usando
./redis-server $REDIS_HOME/redis.conf
.Verifique a configuração via
./redis-cli -h -YOUR-IP- -a -YOUR-PASSWORD-HERE-
../redis-cli -h -YOUR-IP- ping
.fonte
Abra o arquivo no local
/etc/redis.conf
Comente
bind 127.0.0.1
Reinicie o Redis:
Desativar Firewalld:
Pare Firewalld:
Então tente:
fonte
Uma observação rápida: se você estiver usando a instância AWS ec2, há mais uma etapa extra que acredito também ser obrigatória. Perdi a etapa 3 e levei um dia inteiro para descobrir como adicionar uma regra de entrada ao grupo de segurança
Etapa 1 (como anterior): em seu redis.conf, altere o bind 127.0.0.1 para o bind 0.0.0.0
Passo 2 (como anterior): em seu redis.conf mude do modo protegido sim para o modo protegido não
importante para a instância Amazon Ec2:
Passo 3: Em sua máquina ec2 atual, vá para o grupo de segurança. adicione uma regra de entrada para TCP personalizado com porta 6379 e selecione a opção "usar de qualquer lugar".
fonte
fonte
Vincular e modo protegido são as etapas essenciais. Mas se o ufw estiver habilitado, você terá que fazer o redis port permitir no ufw.
ufw status
seStatus: active
permitir redis-portufw allow 6379
vi /etc/redis/redis.conf
bind 127.0.0.1
parabind 0.0.0.0
protected-mode yes
paraprotected-mode no
fonte