3P by tk1583 2달전 | favorite | 댓글과 토론

프로젝트 점진적 마이그레이션: 프록시를 통한 도메인 통합

  • 자사 어드민 서비스의 기술 스택을 Next.js의 Page Router에서 App Router로 마이그레이션하기로 결정했음
  • 자사 테크 팀은 기존 Page Router 앱 코드를 그대로 유지하고, 새로 만드는 페이지부터 하나씩 App Router로 마이그레이션하고 싶었음
  • 이를 위해 기존 Page Router 앱과 새 App Router 앱을 별도의 도메인으로 배포 후, Vercel Proxy를 이용해 하나의 도메인으로 통합
  • Proxy 설정을 통해 /new 로 시작하는 모든 경로는 새 앱으로 rewrite되고, 그 외 모든 경로는 기존 앱으로 rewrite됨

인증이 두 앱에서 유지될 수 있는 이유

  • 기존 앱 말고도 새로운 프로젝트에서도 인증이 유지될 수 있는 이유가 무엇일까?
  • 자사 어드민 서비스는 세션 쿠키 인증 방식으로 구현되어 있음
    • 그리고 백엔드에서 CORS 설정을 하지 않았기 때문에, 서버와 동일한 도메인에서만 쿠키에 접근할 수 있음
  • 기존 앱에 로그인 페이지가 존재함. 그럼 새로운 앱에서 API 요청 시 브라우저에서 세션 쿠키를 전달하지 못해 인증 문제가 발생할까?
  • 결론부터 말하면, 문제가 없음
  • 그 이유는 Proxy 설정을 통해 두 앱을 하나의 도메인 A로 통합했기 때문임.
    • 로그인하면 브라우저는 쿠키를 도메인 A에 저장하고, 이후의 모든 요청에 세션 쿠키를 자동으로 포함시킴