며칠 동안 Redis에 대한 원격 연결에 어려움을 겪고있었습니다. 마침내 나는 그것을 만들었다. 다음은 연결하기 위해 따라야 할 전체 체크리스트입니다. 위의 답변에 일부 솔루션이 나와 있습니다. 그러나 나는 내 대답이 주제에 대한 나노 위키가되기를 원했습니다.) 유용한 링크도 추가했습니다.
redis가 로컬에서 작동하는 경우 :
$ redis-cli
127.0.0.1:6379>ping
PONG
127.0.0.1:6379>
비밀번호가 설정되지 않은 경우
/etc/redis/redis.conf
config를 참조하십시오 (Ubuntu 18.04의 기본 위치이며 다른 위치에있을 수 있습니다).
# The following line should be commented
# requirepass <some pass if any>
구성에서 보호 모드가 'no'로 설정된 경우 :
# The following line should be uncommented
protected-mode no
구성에서 인터넷 액세스를 위해 IP 바인딩이 열려있는 경우 :
# The following line should be commented
# bind 127.0.0.1 ::1
Linux 방화벽이 연결을 허용하는 경우
(Ubuntu 18.04의 경우 여기) 들어오는 인터넷 트래픽이 포트로 이동하도록 허용하는지 확인합니다 6379
(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
Redis 서비스 다시 시작
변경 사항을 적용하고 실행 중인지 확인하려면 Redis 서비스를 다시 시작하는 것을 잊지 마십시오.
$ sudo systemctl restart redis.service
$ sudo systemctl status redis
원격 서버로 작동하는지 확인
명령 줄에서 redis-cli
Redis 서버가 원격 서버에있는 것처럼 사용 합니다.
$ redis-cli -h <your-server-ip>
<your-server-ip>:6379> ping
PONG
<your-server-ip>:6379> exit
$
원격 Redis 연결이 작동하는 것보다 원격 서버로 연결된 인터넷 서버를 통해 Redis 서버를 ping-PONG 할 수 있습니다.
보안 경고
위의 모든 기능을 통해 Redis 데이터가 인터넷의 모든 사용자에게 완전히 공개됩니다.
기본적으로 Redis 구성 (위 참조)에서 Redis 사용 requirepass
및 protected-mode yes
설정을 보호 하고 위험한 Redis 명령 (위 링크 참조)을 차단하려면 이 문서 와 Redis 사이트 보안 섹션을 참조 하세요. 참조하십시오.
유용한 링크
Ubuntu 18.04에서 Redis를 설치하고 보호 하는 방법 과 Ubuntu 18.04 방화벽을 설정하는 방법 에 도움이되는 링크 .
도움이 되었기를 바랍니다.
redis-cli -h hostname