프로젝트 점진적 마이그레이션: 프록시를 통한 도메인 통합
- 자사 어드민 서비스의 기술 스택을 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에 저장하고, 이후의 모든 요청에 세션 쿠키를 자동으로 포함시킴