Redis on azure debian vm - verbinden Sie ETIMEDOUT

511
Achiel Volckaert

Ich habe eine Debian 9-VM in Azure erstellt, außerdem MariaDB, PHPMyAdmin und einen Knoten mit pm2 installiert. Damit habe ich Port 80 für eingehende Regeln für HTTP, 3306 für MySQL und Port 6379 für Redis festgelegt.

Wenn ich versuche, mich mit dem Windows-Client zu verbinden, lehnt es ab, oder im Code lehnt es ebenfalls ab und es wird "Fehler: Verbindung mit [someIP]: 6379 fehlgeschlagen - Verbindung mit ETIMEDOUT [someIP]: 6379" hergestellt. Wenn ich die Verbindungseinstellungen zu einem anderen Redis, das ich besitze, ändere, funktioniert es, daher sollte es kein Problem mit dem Code geben.

Fazit: Was sollte ich auf eine erfolgreiche Verbindung von meinem Heimnetzwerk zu den Redis auf Azure überprüfen?

2
`redis-cli`, der Standardhost ist` localhost`. Wenn Sie über das Internet auf Redis zugreifen möchten, kann der Dienst Localhost nicht abhören. Sie sollten die private IP-Adresse verwenden. Dann benutze `redis-cli -h`und` redis-cli -h `. Ich hoffe es hilft. Shui Shengbao vor 6 Jahren 0
Hi, funktioniert das für dich? Bitte lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen. Shui Shengbao vor 6 Jahren 0

1 Antwort auf die Frage

0
Shui Shengbao

Ich verweise auf dieses offizielle Dokument und installiere Redis unter Debian 9. Ich könnte es mit VM Public IP verbinden.

Sie sollten aktivieren, dass Redis die private IP der VM überwacht. Standardmäßig hört es auf localhost. Ändern Sie /etc/redis/6379.confwie folgt:

bind <vm's private ip> 

Starten Sie dann Redis erneut. systemctl restart redis_6379.

Überprüfen Sie die Verbindung unter Linux.

root@shui:~/redis-stable/utils# redis-cli -h 52.232.114.152 52.232.114.152:6379> set test HugeServer OK 52.232.114.152:6379> get test "HugeServer" 

Hinweis: Sie sollten den Port 6379 auf NSG wie diesen Screenshot öffnen .

Ich teste auch auf Windows-Clients, es funktioniert auch bei mir. https://imgur.com/a/aEz2m Shui Shengbao vor 6 Jahren 0
Ich vermute, du meinst redis.conf? Achiel Volckaert vor 6 Jahren 1
Ja, vielleicht ist es ein Fehler, ich werde es überprüfen. Shui Shengbao vor 6 Jahren 0
Was ist das Ergebnis "netstat -ant | grep 6379"? Shui Shengbao vor 6 Jahren 0
@AchielVolckaert Ich teste in meinem Labor, dies ist `/etc/redis/6379.conf`. Findest du es in deiner VM? Shui Shengbao vor 6 Jahren 0
Ja, nach einer Neuinstallation habe ich es gefunden und jetzt alles neu konfiguriert Achiel Volckaert vor 6 Jahren 1
@AchielVolckaert Sie müssen Listening Redis auf der privaten IP von VM abhören. Offener Port 6379 für Azure NSG und VM Firwall (ich teste in meinem Labor, keine Notwendigkeit). Shui Shengbao vor 6 Jahren 0
dies ist das ergebnis von netstat https://imgur.com/a/TCgaN 10.0.0.4 ist meine private ip. Der Befehl redis-cli gibt an, dass keine Verbindung hergestellt werden kann.https: //imgur.com/a/cWuxB Achiel Volckaert vor 6 Jahren 1
Ich habe die Regel in nsg hinzugefügt, ich habe sogar die Redis-Konfiguration so eingestellt, dass sie alle IPs akzeptiert. Ich habe keine Ahnung Achiel Volckaert vor 6 Jahren 1
Hallo, du solltest `redis-cli -h 10.0.0.4` oder` redis-cli -h verwenden ` Shui Shengbao vor 6 Jahren 0
Redis hört nicht auf 127.0.0.1. Shui Shengbao vor 6 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/71567/discussion-between-shengbao-shui-msft-and-achiel-volckaert). Shui Shengbao vor 6 Jahren 0