ouvrir le port redis pour les connexions distantes
Je peux ping pong redis sur le serveur
# redis-cli ping
PONG
Mais à distance obtenu des problèmes:
$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused
Dans config j'ai eu le port standart:
# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379
Alors peut-être que je devrais ouvrir le port 6379 sur une machine ubuntu distante? Comment faire?
5 réponses
Avez-vous défini l'option bind pour autoriser l'accès à distance sur le serveur redis?
Avant (fichier /etc/redis/redis.conf
)
bind 127.0.0.1
Après
bind 0.0.0.0
Et exécutez sudo service redis-server restart
pour redémarrer le serveur. Si ce n'est pas le problème, vous pouvez vérifier les pare-feu qui pourraient bloquer l'accès.
Important: Si vous n'utilisez pas de pare-feu (iptables, ufw..) pour contrôler qui se connecte au port utilisé, N'importe qui peut se connecter à cette instance Redis. Sans utiliser Redis' AUTH
ça signifie n'importe qui peut accéder/modifier/supprimer vos données. En être sûr!
Pour moi, je devais faire ce qui suit:
1-Commenter bind 127.0.0.1
2 - Changement de protected-mode
à no
3 - Protéger mon serveur avec iptables
(https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on-ubuntu-14-04)
Une note rapide que cela sans sécuriser davantage votre serveur Redis n'est pas une bonne idée car cela peut vous laisser ouvert à l'attaque. Assurez - vous également d'implémenter AUTH ou de sécuriser cela. Voir http://redis.io/topics/security pour plus de détails.
1 - Commentaire de lier 127.0.0.1
2 - requirepass votre mot de passe
Vérifiez ensuite si le pare-feu a bloqué votre port
Iptables-L-N
Service iptables stop
Étape 1: Aller à L'emplacement: / etc / redis.conf
Étape 2: Commande bind 127.0.0.1
Étape 3: Redémarrer Redis:- sudo systemctl démarrer redis.le service
Étape 4: Désactiver Firewalld systemctl désactiver firewalld
Étape 5: Arrêter Firewalld systemctl stop firewalld
Ensuite, Essayez.
Redis-cli -h 192.168.0.2(ip) -un redis(nom d'utilisateur)