Ich kann Ping Pong Redis auf dem Server:
# redis-cli ping
PONG
Aber aus der Ferne habe ich Probleme:
$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused
In der Konfiguration habe ich den Standardport bekommen:
# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379
Vielleicht sollte ich also Port 6379 auf dem Remote-Ubuntu-Computer öffnen? Wie mache ich es?
Antworten:
Haben Sie die Bindungsoption festgelegt, um den Remotezugriff auf den Redis-Server zuzulassen?
Vorher (Datei
/etc/redis/redis.conf
)Nach dem
und ausführen
sudo service redis-server restart
, um den Server neu zu starten. Wenn dies nicht das Problem ist, sollten Sie alle Firewalls überprüfen, die den Zugriff blockieren könnten.Wichtig: Wenn Sie keine Firewall (iptables, ufw ..) verwenden, um zu steuern, wer eine Verbindung zu dem verwendeten Port herstellt, kann JEDER eine Verbindung zu dieser Redis-Instanz herstellen. Ohne Redis '
AUTH
bedeutet dies, dass jeder auf Ihre Daten zugreifen / diese ändern / löschen kann. Sicher sein!quelle
bind 0.0.0.0
für Zeichenfolge hinzugefügtbind 127.0.0.1
. Redis neu gestartet. Und jetzt kann Remote-Verbindung.bind 0.0.0.0
alleine gegenbind 127.0.0.1 0.0.0.0
Für mich musste ich Folgendes tun:
1- Auskommentieren
bind 127.0.0.1
2- Wechseln Sie
protected-mode
zuno
3- Schützen Sie meinen Server mit
iptables
( https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on-ubuntu-14-04 )quelle
Ein kurzer Hinweis, dass dies ohne weitere Sicherung Ihres Redis-Servers keine gute Idee ist, da Sie dadurch für Angriffe offen bleiben können. Stellen Sie sicher, dass Sie auch AUTH implementieren oder dies auf andere Weise sicherstellen. Weitere Informationen finden Sie unter http://redis.io/topics/security .
quelle
1- Auskommentieren binden 127.0.0.1
2- Setzen Sie die Anforderung, Ihr Passwort zu übergeben
Überprüfen Sie dann, ob die Firewall Ihren Port blockiert hat
iptables -L -n
Service Iptables stoppen
quelle
Öffnen Sie $ REDIS_HOME / redis.conf und kommentieren Sie und
requirepass -YOUR-PASSWORD-HERE-
notieren Sie Ihr Passwort in den angegebenen Zeilen.Melden Sie sich mit redis-cli bei redis an und überprüfen Sie Ihr Passwort in der Datenbank mit dem
auth -YOUR-PASSWORD-HERE-
Befehl.Deaktivieren Sie den geschützten Modus, indem Sie die Zeichenfolge in $ REDIS_HOME / redis.conf in ändern
protected-mode no
.Suchen Sie nach allen Bindungsportwerten und kommentieren Sie alle. Fügen Sie einfach
bind 0.0.0.0
auf $ REDIS_HOME / redis.conf Datei.Deaktivieren Sie Ihre Firewall oder öffnen Sie den Redis-Port.
Starten Sie redis mit
./redis-server $REDIS_HOME/redis.conf
.Überprüfen Sie die Konfiguration über
./redis-cli -h -YOUR-IP- -a -YOUR-PASSWORD-HERE-
../redis-cli -h -YOUR-IP- ping
.quelle
Öffnen Sie die Datei am Speicherort
/etc/redis.conf
Auskommentieren
bind 127.0.0.1
Starten Sie Redis neu:
Firewall deaktivieren:
Stoppen Sie Firewalld:
Dann versuche es:
quelle
Ein kurzer Hinweis: Wenn Sie eine AWS ec2-Instanz verwenden, gibt es einen weiteren zusätzlichen Schritt, der meiner Meinung nach ebenfalls obligatorisch ist. Ich habe Schritt 3 verpasst und es dauerte einen ganzen Tag, bis ich herausgefunden hatte, ob ich der Sicherheitsgruppe eine eingehende Regel hinzufügen konnte
Schritt 1 (wie zuvor): In Ihrer redis.conf-Änderung binden Sie 127.0.0.1, um 0.0.0.0 zu binden
Schritt 2 (wie zuvor): Ändern Sie in Ihrer redis.conf den geschützten Modus Ja in den geschützten Modus Nein
wichtig für Amazon Ec2 Instance:
Schritt 3: Wechseln Sie auf Ihrem aktuellen ec2-Computer zur Sicherheitsgruppe. Fügen Sie eine eingehende Regel für benutzerdefiniertes TCP mit 6379-Port hinzu und wählen Sie die Option "Von überall verwenden".
quelle
quelle
Bind & Protected-Mode sind die wesentlichen Schritte. Wenn jedoch ufw aktiviert ist, müssen Sie den Redis-Port in ufw zulassen.
ufw status
wenn SieStatus: active
dann Redis-Port zulassenufw allow 6379
vi /etc/redis/redis.conf
bind 127.0.0.1
inbind 0.0.0.0
protected-mode yes
aufprotected-mode no
quelle