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로만 보내야 응답을 받을 수 있다.

/images/SCR-20240112-uchh.png

즉, 클라우드플레어의 SSL/TLS 암호화 모드에서 원본서버로 가는 길 역시 암호화를 해줘야함으로,
전체모드로 설정해야한다.
 

만약 깃허브의 Enforce HTTPS에 체크하지 않았다면

반대로 클라우드 플레어의 SSL/TLS 암호화 모드에서는 아래와 같이 가변으로 설정해도 무방하다.2

/images/SCR-20240112-ucez.png
 

Warning

github pages와 연결시, SSL/TLS 암호화모드를 없음으로 설정하면 웹페이지는 무조건 처음의 문제가 발생한다.
이는 깃허브에서 custom domain으로 redirect 시킬 때 무조건 https로 보내기때문이다.

/images/SCR-20240112-udgz.png


 

요약

즉, 브라우저에서는 무조건 https로 시작하여 클라우드플레어로 들어가야하고
클라우드플레어에서 깃허브 서버로 가는 길은 Enforce HTTPS 여부에 따라 설정을 맞춰줘야 한다.


  1. 참고로 구글도메인보다 더 싸다. ↩︎

  2. ‘전체’로 설정해도 상관없음 ↩︎


Related Content

0%