Github Pages에 Cloudflare 도메인 연결 중 리다이렉션 실패가 난다면
문제상황
구글이 도메인 사업을 매각한 후, 도메인 이전을 차일피일 미루다 최근에서야 Cloudflare로 도메인을 이전하였다.1
모든 DNS 역시 정상적으로 이전하였고, 메일서비스를 비롯한 다른 서비스들도 정상작동함을 확인하였다.
그런데 갑자기 해당 도메인의 주소가 정상적으로 작동하지 않는 문제가 생겼다.
브라우저에서 20회 이상의 리다이렉션으로 페이지 불러오기 실패
해결방법
Cloudflare side menu - SSL/TLS - 개요 : SSL/TLS 암호화 모드를
가변에서 전체로 변경했더니 문제 해결!
그런데 왜??
현재 다른 설정은 항상 HTTPS 사용이 체크되어있는데 이 설정과 충돌해서일까??
github Setting - pages에서는 다음과 같이 설정해놓았다.
HTTPS provides a layer of encryption that prevents others from snooping on or tampering with traffic to your site.
When HTTPS is enforced, your site will only be served over HTTPS.
이유 발견
도메인 서비스는 위 이미지와 같은 흐름을 가지고 있다.
깃허브에서 Enforce HTTPS에 체크가 되어있다면,
아래와 같이 도메인 서버는 깃허브에게 HTTPS로만 보내야 응답을 받을 수 있다.
즉, 클라우드플레어의 SSL/TLS 암호화 모드에서 원본서버로 가는 길 역시 암호화를 해줘야함으로,
전체모드로 설정해야한다.
만약 깃허브의 Enforce HTTPS에 체크하지 않았다면
반대로 클라우드 플레어의 SSL/TLS 암호화 모드에서는 아래와 같이 가변으로 설정해도 무방하다.2
요약
즉, 브라우저에서는 무조건 https로 시작하여 클라우드플레어로 들어가야하고
클라우드플레어에서 깃허브 서버로 가는 길은 Enforce HTTPS 여부에 따라 설정을 맞춰줘야 한다.
Related Content
- 브라우저에서 ChatGPT 프롬프트 입력창이 먹통일때 해결방법
- Webina 참여 회고 - 원티드 주최 'ChatGPT 시대에 구성원의 역량을 어떻게 육성할 것인가?'
- 블로깅 플랫폼 변경: Google Blogger에서 GitHub + Hugo로
- ChatGPT 사용기 - WhereClauseBuilder 함수를 물어보았다.
- 백엔드 - Typescript-Express 환경에서 Jest 및 Node 환경에 따라 Dotenv 설정 분리