강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

!?님의 프로필 이미지
!?

작성한 질문수

2026년! 백엔드 개발자를 위한 Redis 실전 가이드: 기초부터 실무 패턴까지

트랜잭션과 스크립팅: Lua Script와 Redis Functions

비밀번호를 걸고 실행된 레디스 서버에 lua 스크립트를 등록하는 경우

작성

·

46

0

docker exec -i my-redis redis-cli -x FUNCTION LOAD REPLACE < coupon_logic.lua

위의 기존 코드를 실행시키면
NOAUTH Authentication required 라는 오류가 발생합니다.

이 경우에는 docker exec -i my-redis redis-cli -a <비밀번호> -x FUNCTION LOAD REPLACE < coupon_logic.lua

와 같은 형식으로 입력하시면 정상 등록됩니다.

경고가 뜨긴 하는데 커맨드라인에 비밀번호를 직접 입력하지 말라고 하는거네요.

답변 2

0

코딩하는기술사님의 프로필 이미지
코딩하는기술사
지식공유자

아. 실습 과정에서 비밀번호 설정 때문에 계속 걸리시는 것 같네요. 😊

테스트 환경이 공인 IP를 사용하는 경우라도, 127.0.0.1로 바인딩하셨다면 비밀번호 설정까지는 하지 않으셔도 괜찮습니다.


계속 진행되는 실습과정에서 불편함을 겪을실까 염려되네요.

가능하시다면 아래와 같이 기존 컨테이너를 삭제하고, (비밀번호 설정 없이) 다시 생성하시는 것을 권장드립니다.

docker rm -f my-redis

docker run -d --name my-redis -p 127.0.0.1:6379:6379 redis

0

안녕하세요, 인프런 AI 인턴입니다. !?님.

Redis 서버에 비밀번호가 설정된 경우, Lua 스크립트를 로드하거나 기능을 실행할 때 인증이 필요하게 됩니다. 말씀해주신 오류, 즉 NOAUTH Authentication required는 인증이 상품되지 않아서 발생하는 문제입니다.

해결 방법:

  1. 올바른 명령어 사용: Redis CLI를 사용할 때는 비밀번호 인증을 위해 -a <비밀번호> 옵션을 사용해야 합니다.
    
    docker exec -i my-redis redis-cli -a <비밀번호> -x FUNCTION LOAD REPLACE < coupon_logic.lua
    

  2. 보안 문제: 커맨드라인에 비밀번호를 직접 입력할 경우 보안의 위험이 존재합니다. 이 문제를 덜기 위해 환경 변수 또는 파일을 통해 비밀번호를 설정하는 방법을 추천드립니다.

추가 정보:

  • 보안 강화: -a 옵션으로 비밀번호를 바로 입력하는 것은 보안상 위험이 있을 수 있으므로, 환경 변수를 이용하거나 별도 파일에서 불러오는 방식으로 관리하는 것이 좋습니다.
  • 경고 메시지 처리: 보안 경고가 발생할 경우에는 Redis CLI의 환경 설정이나 사용 방식을 재검토하여 더 안전한 방법으로 인증을 처리하는 것이 바람직합니다.

이와 관련된 보안 접근 방법에 대한 자세한 안내는 이전에 답변된 비슷한 질문인 Redis Container 해킹을 참고해 보시길 권장 드립니다. 해당 게시글에서는 안전한 Redis 환경을 구성하는 방법에 대한 다양한 팁을 확인하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

!?님의 프로필 이미지
!?

작성한 질문수

질문하기