CHIP THRONE

chipthrone.com 도메인 도입

문제

  • Vercel 기본 배포 주소로는 공식 서비스로 인식하기 어려워 프론트에 www.chipthrone.com 연결
  • HTTPS 프론트에서 EC2 공인 IP의 HTTP API를 호출하자 Mixed Content로 요청 차단

EC2 HTTP API 요청에서 확인한 Mixed Content 차단

  • EC2 API를 HTTPS로 제공하기 위해 api.chipthrone.com 연결과 인증서 적용
  • 허용 목록에 루트 도메인만 있어 www.chipthrone.com Origin의 API 응답이 CORS 정책으로 차단

www Origin과 루트 도메인 허용값의 불일치로 발생한 CORS 차단

해결 전략

  • Cloudflare DNS에서 루트와 www는 Vercel, api는 EC2로 분리
  • api.chipthrone.com에 인증서를 적용해 EC2 API를 HTTPS로 제공
  • 실제 프론트 주소인 www.chipthrone.com을 CORS 허용 목록에 반영
Browserchipthrone.comCloudflare DNSwww - 정적 프론트Vercelapi - HTTPSNginxSpring

기술 선택 이유

  • Cloudflare DNS

    • 프론트와 API가 서로 다른 곳에 배포돼도 사용자에게는 도메인 하나로 노출
  • CORS

    • 루트와 www 서브도메인을 허용하고 GETOPTIONS만 개방

결과

  • www.chipthrone.com을 공식 서비스 주소로 사용
  • api.chipthrone.com으로 EC2 API를 HTTPS로 제공
  • CORS 허용 목록에 www.chipthrone.com을 반영한 뒤 API 요청이 200으로 통과

www Origin의 API 요청에서 확인한 200 응답