DEVELOPMENT NOTE / CHIP THRONE

프론트와 백엔드를 한 도메인으로 연결

문제

  • Vercel 프론트와 EC2 백엔드를 chipthrone.com 아래에서 함께 제공해야 함
  • 배포 직후 프론트의 API 호출이 전부 CORS 403

해결 전략

  • Cloudflare DNS에서 루트·www는 Vercel, api는 EC2로 분리
  • EC2 앞단의 Nginx에서 TLS를 종료하고 요청을 Spring Boot 컨테이너로 전달
  • 실제 프론트 주소인 www.chipthrone.com을 CORS 허용 목록에 반영
Browserchipthrone.comCloudflare DNSwww · 정적 프론트Vercelapi · HTTPSNginxHTTP :8080Spring
Cloudflare DNS가 프론트와 API 주소를 나누고, Nginx가 EC2에서 TLS를 종료한 뒤 Spring Boot로 전달

기술 선택 이유

  • 정적 프론트는 Vercel에 두고 상시 실행되는 시세 수집 워커만 EC2에서 운영
  • Nginx가 인증서와 외부 포트를 맡아 Spring Boot는 HTTP 애플리케이션 로직에 집중

결과

  • https://www.chipthrone.comhttps://api.chipthrone.com을 역할별로 분리
  • 인증서 갱신과 백엔드 컨테이너 교체를 분리해 TLS 변경이 애플리케이션 재배포로 이어지지 않음