본문 바로가기

목록이 없습니다.

[Redis] backup1, backup2, backup3, backup4 이건 뭐지..?

Server

    redis 로고

    상황

    JWT(Json Web Token)을 활용하여 SSO(Single Sign On)을 구현하고 중복 로그인 방지 처리를 위해서 redis 서버를 사용하게 되었습니다.

    운영 redis 서버는 ncloud 서버의 SASS를 사용하여 안정적으로 운영이 되었고 개발 시에 접속할 개발용 redis 서버를 따로 운영하고 있었습니다.

    개발을 하면서 자꾸 로그인이 풀리면서 이상하다는 생각이 들었고 redis 서버에 접속해서 확인해보니 redis에 세션처럼 등록해놓은 토큰 정보가 주기적으로 삭제되면서 backup1, backup2, backup3, backup4 라는 정보가 남아있는 것이었습니다.

    처음에는 docker로 띄워놓은 redis 서버가 불안정해서 그런건가 싶었고 그래서 몇번 컨테이너를 재시작해주었습니다.

    그래도 문제는 해결되지 않았고 근본적인 원인을 찾아 구글링을 시작하였습니다.

     

    원인 파악

    역시 구글은 금방 제 문제의 원인을 찾아주었고 알고보니 redis의 기본포트(6379)로 누군가(아마도 봇)가 flushall 이라는 명령어를 날리는 것이었습니다. 그로 인해 기존에 저장되어있던 데이터가 모두 삭제되고 backup1, backup2, backup3, backup4 라는 백업 정보만 남은 것입니다.

    이를 해결하기 위해서는 다음과 같이 크게 2가지 방법이 있습니다.

     

    해결방안

    1. 기본 포트를 다른 포트로 바꾼다.

    2. redis 에 접속 시 인증을 하도록 바꾼다.

     

    제가 해결해야할 redis서버는 개발 서버였기 때문에 간단한 1번 방법으로 해결하였습니다.

    2번으로 해결하는 방법은 아래 참고한 링크를 통해서 참고하여 진행하시면 될 것 같습니다.

     

    고맙습니다.

     

    참고

    https://thxwelchs.github.io/%EB%82%B4redis%EA%B0%80%ED%95%B4%ED%82%B9%EB%8B%B9%ED%96%88%EB%8B%A4%EA%B3%A0%EC%8B%AC%EC%A7%80%EC%96%B4local%EC%9D%B8%EB%8D%B0/