Przez kilka dni zmagałem się ze zdalnym połączeniem z Redis. Wreszcie się udało. Oto pełna lista kontrolna, którą stworzyłem, aby uzyskać połączenie. Niektóre rozwiązania podano w odpowiedziach powyżej. Chciałem jednak, aby moją odpowiedzią była nano-wiki na ten temat :) Dodałem też kilka przydatnych linków.
Jeśli redis działa lokalnie:
$ redis-cli
127.0.0.1:6379>ping
PONG
127.0.0.1:6379>
Jeśli hasło nie jest ustawione
Zobacz /etc/redis/redis.conf
konfigurację (jest to domyślna lokalizacja dla Ubuntu 18.04, możesz ją mieć w innej lokalizacji):
# The following line should be commented
# requirepass <some pass if any>
Jeśli tryb chroniony jest ustawiony na „nie” w konfiguracji:
# The following line should be uncommented
protected-mode no
jeśli powiązanie IP jest otwarte dla dostępu z Internetu w konfiguracji:
# The following line should be commented
# bind 127.0.0.1 ::1
Jeśli zapora systemu Linux zezwala na połączenia
(tutaj dla Ubuntu 18.04) Sprawdź, czy przychodzący ruch internetowy przechodzi do portu 6379
(domyślny port Redis)
# To check if it the port is open
$ sudo ufw status
Status: active
To Action From
-- ------ ----
...
6379/tcp ALLOW Anywhere
6379/tcp (v6) ALLOW Anywhere (v6)
...
# To open the port
$ sudo ufw allow 6379/tcp
Uruchom ponownie usługę Redis
Nie zapomnij ponownie uruchomić usługi Redis, aby zmiany zaczęły obowiązywać i zobacz, czy działa:
$ sudo systemctl restart redis.service
$ sudo systemctl status redis
Sprawdź, czy działa jako serwer zdalny
z linii poleceń użyj redis-cli
tak, jakby serwer Redis był na serwerze zdalnym:
$ redis-cli -h <your-server-ip>
<your-server-ip>:6379> ping
PONG
<your-server-ip>:6379> exit
$
Jeśli możesz wysłać ping-PONG do serwera Redis za pośrednictwem serwera internetowego podłączonego jako serwer zdalny, wtedy zdalne połączenie Redis działa.
Ostrzeżenie bezpieczeństwa
Wszystko to sprawia, że Twoje dane Redis są całkowicie otwarte dla każdego z internetu.
Aby w zasadzie zabezpieczyć użycie requirepass
i protected-mode yes
ustawienia Redis w konfiguracji Redis (patrz powyżej) oraz zablokować niebezpieczne polecenia Redis (zobacz łącze powyżej), aby uzyskać dokładniejsze informacje, zobacz ten artykuł i sekcję dotyczącą zabezpieczeń witryny Redis ).
Przydatne linki
Kilka linków do pomocy Jak zainstalować i zabezpieczyć Redis na Ubuntu 18.04 i jak skonfigurować zaporę sieciową Ubuntu 18.04 .
Mam nadzieję, że to pomoże.
redis-cli -h hostname