회고록 - Spring Security Jwt

Seoyeon·2025년 8월 8일

회고록

목록 보기
2/5

프로젝트 개요

  • 프로젝트 명:
  • 진행 기간: 8월 4일 - 8월 8일
  • 사용 기술 스택: Spring Boot, Spring Data JPA, MySQL, Docker, AWS EC2, GitHub Actions
  • 간단 설명:
    • JWT 인증 기반의 회원가입/로그인, CRUD, 외부 API 연동, CI/CD 적용

주요 기능

  • 회원가입 / 로그인 (JWT)
  • 인증/인가 처리
  • CRUD 기능 (예: 게시글, 상품 등)
  • 관리자 기능
  • 외부 API 연동 (예: GPT, SUNO)
  • Swagger 연동
  • CI/CD (GitHub Actions → EC2)
  • Docker + HTTPS 배포
  • 기타:

프로젝트 구조

com.example.SecurityJWT
├── SecurityJwtApplication  → 메인 클래스
├── common
│   ├── ApiResponse         → API 응답 공통 포맷
│   └── GlobalExceptionHandler → 전역 예외 처리기
├── config
│   └── SecurityConfig      → Spring Security 설정
├── Controller
│   └── AuthController      → 회원가입/로그인/토큰 재발급 API
├── Entity
│   └── User                → 사용자 엔티티
├── jwt
│   ├── JwtAuthenticationFilter → JWT 인증 필터
│   └── JwtUtil             → JWT 유틸리티 (생성/검증)
├── Repository
│   └── UserRepository      → User JPA Repository
└── Service
    ├── AuthService         → 회원가입/로그인 로직
    └── UserService         → 사용자 정보 조회 로직

트러블슈팅 & 기술 이슈

1. 502 Bad Gateway 발생

  • 현상:
    EC2에서 배포 후 Nginx를 통해 접근 시 502 Bad Gateway 오류 발생.
  • 원인 분석:
    헬스 체크 경로(/health)를 구현하지 않아 Nginx/로드밸런서에서 정상 상태로 인식하지 못함.
  • 해결 방법:
    /health 엔드포인트를 추가하여 서버 상태를 확인할 수 있도록 구현.

2. Postman 환경변수로 인한 API 요청 실패

  • 현상:
    로컬 테스트는 정상 작동하지만 Postman에서 API 호출 시 인증 에러 또는 URL 오류 발생.
  • 원인 분석:
    Postman 환경변수 설정이 잘못되어 실제 요청 URL이 의도와 다르게 전송됨.
  • 해결 방법:
    Postman 환경변수 값(예: {{baseUrl}})을 올바르게 수정하고, 요청 전 Environment를 정확히 선택하여 실행.

아쉬웠던 점

  • 기본적인 내용으로 보이는데 다른 구현을 더 진행해보면 어떨까하는생각이 들었다..너무 로그인,회원가입만 띨롱 한 느낌

좋았던 점 & 성장 포인트

  • 저번에 해커톤때 로그인기능을 내가 구현안했었는데 , 다른 파트를 진행하여 해보고싶었지만 못했던 적이 있는데 이번 학습을 통해 해결해본것같아 뿌듯하며 즐거웠당. 토큰 사용하는거? 뭔가 컴퓨터네트워크에서 개념만 다뤘던거같은데 실제로 개발해보니 더 서버의 관리가 이해 잘되는것같았다.

다음 프로젝트에 적용할 것들

  • 기본 회원가입,로그인기능은 어디에서나 기본적인 내용이니 적용가능할것같다.

화면 예시 or Swagger 캡처

이미지 첨부 or Swagger 주소


회고 한 줄 요약

이번 프로젝트를 통해 로그인,회원가입 로직을 구현하고 이해해볼수있었다

0개의 댓글