

백엔드 개발 중에 계속 토큰 시간이 한참 남았는데 토큰정보가 유효하지 않다고 떴다..spring security하고 jwt를 이용해서 accessToken하고 refreshToken을 발급해서 프론트 단에 넘겨줬는데 진짜 둘다 문제가 없는 코드였다.
그래서 혹시나 서버의 redis를 들어가봤는데
해당 에러는 redis의 기본포트로 누군가가 flushall이라는 명령러를 날리는 것이라고 했다. 그로 인해 기존에 저장되어 있던 데이터가 모두 삭제되고 backup1, 2, 3, 4라는 백업 정보만 남은 것이다.
그래서 redis에서 monitor 입력해서 계속 확인해 봤다.

처음에는 접근만 그리고 그 다음에는
4명이서 로그인하고 있었는데 갑자기 모두가 토큰 정보가 날라가는 거에서 이상함을 느꼈다.

해결 방법은 redis 비밀번호 설정
로컬에서 쓸때는 했었는데 서버에 올릴때는 안했었다;;
배포 담당이 이건 docker-compose로 안해서 아래와 같은 설정만 해준다.
설정1 - application-prod.yml
redis:
port: {port}
host: {host}
password: {password}
설정 2 - docker exec -it redis redis-cli 에서
config set requirepass {password}
만약 docker-compose를 사용한다면 아래와 같이 설정 필수
services:
redis:
hostname: redis
container_name: redis
image: redis:6.2.6
command: redis-server --requirepass mypassword --port 6379
ports:
- 6379:6379