개요

서버와 클라이언트간 쿠키가 제대로 저장되지 않았다. 옵션을 전부 추가해보고 빼보기도 하다가 쿠키 전송 옵션 중 도메인 옵션때문이라는 것을 깨닫고 계속 설정해봤다

하지만 다른 도메인 간 쿠키 설정 관련해서 문서들을 보고 전부 시도해봐도 안되는 것을 확인하고 다른 방법을 조금 더 고민해봤다

 

해결

내 프론트 도메인은 https://clip-planet.vercel.app/ 이었고 서버 도메인은 https://clip-planet.site 였는데 이때 clip-planet만 넣어도 되지않을까 생각해서 진행해봤지만 당연히 되지 않았고 계속 붙잡고 있을 순 없어 어떤 방식으로 설정해야하는지 문서를 찾아 읽었다.

DNS 정보를 어디다 저장하고 어떻게 캐싱하는지 이미지로 쉽게 이해할 수 있었고 단순하게 도메인 네임 서버 구조와 흐름을 이해할 수 있었다. 하지만 내가 얻고자하는 정보는 아니었으니 이해만 하고 넘어갔다.

 

결국 돌아와서 쿠키를 저장시키기 위해서는 clip-planet.site라는 최상위 도메인으로 구성해야된다는 것 이었다

 

도메인을 바꿔줘야한다는 것이었는데 서버는 직접 호스팅을 구성해서 도메인을 설정하였으니 결국 프론트 도메인 또한 서버와 마찬가지로 일치시켜줘야한다고 생각했는데 이미 clip-planet.site라는 도메인이 서버로 지정해놓고 어떻게 다시 구성해야하나 찾아보니 서브도메인, 하위 도메인이라는 개념으로 도메인을 상위 도메인과 연결하여 설정해줄 수 있다는 것을 확인했다.

 

예를 들면 naver.com은 단순히 네이버 도메인일 뿐이지만 여기서 하위로 cafe 혹은 blog, mobile을 하위 도메인으로 설정해주게 되면 cafe.naver.com, blog.naver.com, m.naver.com이 된다는 것이다. 

 

나는 vercel로 배포를해서 프론트 도메인을 설정해줬어야하는데 다행히 vercel에서 쉽게 지원을 해줘서 이후 옵션에 따라 DNS 레코드에 그대로 옮겨두면 되는 것이라고 생각했다. 아래 이미지를 보면 잘 나와있다.

 

Domains Overview

Learn how domains and DNS work, and what options Vercel provides for managing your domains.

vercel.com

 

가비아: 국내 1위

 

customer.gabia.com

정리해보면 도메인을 일치시키지 않고 쿠키를 다른 도메인끼리 저장하는 방식은 하지말라고 막아둔 것처럼 느껴졌다. 쿠키는 정보를 저장하기 때문에 보안이 중요하다는 것을 몸소 느끼게 되었고 이런 보안적인 옵션들을 전부 끄고 설정한다는 건 하지 말라는거 아닐까라는 개인적인 생각을 갖게 되었다.

 

회고

현재 글을 작성한 22:30 시점으로도 아직 도메인이 적용되지 않았다. vercel에서 제공해주는 호스트 DNS가 아무래도 해외에 있어서 오래걸리는 것이라고 생각된다. 내일까지 반영되지 않으면 옵션을 잘못 설정한 것 아닐까 의심이 들어 글을 조금 수정할 예정이다.

 

subdomain 설정이 안됐던 이슈 해결

개요 이전글에서 연결된 문제였다. 프론트 백엔드간 배포시 쿠키 저장이 안됐던 이유 - TIL 개요 서버와 클라이언트간 쿠키가 제대로 저장되지 않았다. 옵션을 전부 추가해보고 빼보기도 하다가

choiblog.tistory.com

역시 설정을 잘못한게 맞았고 네임 서버 관련 이슈였다.

복사했습니다!