개발일기#JWT
2026-05-04
건강한해달가을
방금 전·2026년 5월 5일 AM 01:02
40
TIL — 2026-05-04
.env / .env.local / .env.example 차이
파일 | 역할 | git 추적 |
|---|---|---|
| 기본 환경 변수. 프로젝트 전체에 적용 | 보통 |
| 로컬 전용 오버라이드. | 항상 |
| 키 이름만 담은 템플릿. 협업자 참고용 | 커밋 O (값은 비움) |
Vite는 .env.local > .env 순으로 병합한다.
실제 값이 있는 파일(.env, .env.local)은 절대 커밋하지 않는다.
.env.example에 변수명이 빠지면 팀원이 어떤 값을 채워야 하는지 모르기 때문에 환경 변수를 추가할 때마다 .env.example도 같이 업데이트해야 한다.
JWT 시크릿 / ENCRYPTION_KEY 수명 주기
JWT_SECRET / JWT_REFRESH_SECRET: 변경하면 현재 발급된 모든 토큰이 즉시 무효화된다. 로그인 중인 사용자 전원이 강제 로그아웃됨.
ENCRYPTION_KEY: 변경하면 DB에 AES-256으로 저장된 데이터(알레르기 등)를 복호화할 수 없게 된다. 사실상 데이터 손실.
→ 두 값 모두 초기 설정 이후 배포 환경까지 동일하게 유지해야 한다.
→ 로컬 dev / staging / prod 환경은 각각 별도 값을 사용하는 게 원칙이다.
→ 운영 교체가 필요할 경우: JWT는 토큰 만료(15분) 이후 교체, ENCRYPTION_KEY는 전체 데이터 재암호화 마이그레이션 필요.
댓글
댓글을 입력하세요...
댓글이 없습니다.
