it-swarm.com.de

Redis binden an mehr als eine IP

In der redis.conf ist die normale Einstellung

bind 127.0.0.1

Ich möchte, dass Redis auch eine andere IP hört (sagen Sie mir meine lokale Entwicklungsadresse)

Ich habe es versucht

bind 127.0.0.1, 123.33.xx.xx

aber das geht nicht. Ich kann keine relevanten in dem Dokument oder durch googeln finden. Hoffe jemand kann helfen.

36
spacemilkman

Das Binden an mehrere IPs ist seit Redis 2.8 in der Tat möglich. Trennen Sie einfach jede IP durch Leerzeichen (keine Kommas).

bind 127.0.0.1 123.33.xx.xx

Quelle: Offizielle Standardkonfiguration

32
mahemoff

Schon seit:

- [Redis 2.8 Release Candidate 1 (2.7.101)] Erscheinungsdatum: 18. Juli 2013

du kannst:

  • [NEU] Möglichkeit, mehrere IP-Adressen zu binden.

Prost!!

15
user1092559

Diese Antwort ist nicht veraltet und funktioniert sowohl für ältere als auch für neuere Versionen

Das Problem beim Verständnis ist, dass die Redis-Bindung nicht die Adresse des Client-Rechners anzeigt, sondern die Schnittstelle, über die die Verbindung hergestellt werden soll. Wenn in Ihrem Beispiel Ihre lokale EntwicklungsClient-) Adresse 123.33.xx.xx lautet, bedeutet dies nicht, dass Sie genau dieselbe Adresse wie eine Bindung angeben müssen, da ansonsten der Redis-Dienst nicht gestartet wird.

Wenn also ifconfig auf Ihrem Redis --- (Server Computer anzeigt, dass Sie über eine ähnliche Netzwerkschnittstelle verfügen:

eth0   Link encap:Ethernet  HWaddr 00:0c:... 
       inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0

sie können die Adresse der Schnittstelle setzen 192.168.1.110 als Binding und jede Anfrage an Redis, die diese Schnittstelle durchläuft, sollte erfolgreich sein.

8
Serob_b

Edit: Es scheint, dass der richtige Weg immer noch nur eine Zeile und eine oder mehrere durch Leerzeichen getrennte IPs ist

Diesen Weg:

bind 127.0.0.1 10.150.220.121
5
Paulo Coghi

Sie können nicht festlegen, dass Redis auf bestimmten mehreren Schnittstellen lauscht. Wenn mehrere Schnittstellen erforderlich sind, entfernen Sie einfach die Bindungslinie.

Wie @taro hervorhob, verwenden Sie eine Firewall, um den Zugriff einzuschränken.

3
Agent47DarkSoul

Ich habe auch versucht, diese Antwort zu finden, da dies derzeit nicht möglich ist. Ich habe dies gefunden, als ich auf mehreren (aber nicht allen) Schnittstellen nach der Antwort gesucht habe. Dies ist, was aufgetaucht ist http://code.google.com/p/redis/issues/detail?id=497 dass es nicht von Redis selbst unterstützt wird.

In Verbindung mit Haproxy ist es unmöglich, es auf einmal vor Redis zu stellen. Sie müssen einen anderen oder einen anderen Port verwenden oder sich dafür entscheiden, eine IP zu binden.

3
Glenn Plas