Cloudflare 로 301 리디렉션 설정하기

현재 이 블로그 외 운영중인 의학계산기 사이트가 있습니다. medcalc.co.kr 이라는 곳입니다. 그런데, 의학계산기 사이트 중에 세계에서 가장 유명한 사이트는 mdcalc.com 입니다. 도메인이 비슷하기에 무심코 mdcalc.co.kr 로 주소창에 기록했던 적이 있습니다. 필자 같은 사람이 꽤나 많을 것 같아서 차라리 mdcalc.co.kr 도메인을 구입하고, mdcalc.co.kr 을 medcalc.co.kr 로 리디렉션 시키면 좋을 것 같았습니다. 그리고 무작정 설정을 시도해 보았습니다.

mdcalc.co.kr → www.medcalc.co.kr

처음에는 도메인을 구입했던 가비아의 유동포워드 서비스를 이용해보았습니다. 그런데 문제는 SSL 인증서가 적용이 되지 않아 브라우저에서 mdcalc.co.kr 을 입력했을 때 바로 리디렉션 되지 않고 경고 문구가 뜨는 것입니다. (보안 사이트 아닌데 그래도 이동할래? 라는 의미의 경고 입니다.) 아쉽게도 가비아의 유동포워드는 SSL 이 안되는 것이었습니다.

다른 방법으로 AWS lightsail 서버 자체에서 리디렉션을 시도해보았습니다. AWS 는 무료 SSL 인증서를 제공하기에, SSL 인증서를 새 도메인에 입히고 리디렉션을 걸었는데 처참히 실패했습니다. (서버나 프로그램 등 컴퓨터를 심도있게 배워본 적이 없는 초보이므로 한번 실패하면 어떻게 해야할지 잘 모릅니다. 바로 포기선언…) 이 후 아무 계획없이 그냥 손놓고 있었는데, 이번에 Cloudflare 를 통해 리디렉션을 시도해보았습니다. 그랬더니 너무나도 잘 동작하여 후에 필요한 일이 있을까봐, 저와 같은 고민하는 분이 있을까봐 기록용으로 이 글을 남겨둡니다.

일단 도메인은 구입을 했고, 그 다음 필요한 것은 구입한 도메인에 SSL 을 적용하고 의도한 곳으로 301 redirection 을 시키는 것 두 가지 입니다. 이를 AWS lightsail 서버 수준에서 진행하기에는 필자의 실력이 부족하고 또 다시 실패할까 엄두가 안났는데 (혹시라도 서버에 문제생길까봐…) Cloudflare 를 이용하면 서버는 건드리지 않고 손쉽게 이 두 가지 작업을 성공적으로 끝낼 수 있었습니다. 아주 만족합니다. 게다가 무료입니다. (참고로 Cloudflare는 웹 보안 및 성능 최적화 회사입니다. 웹사이트와 사용자를 중간에서 보호하고 빠르게 연결해주는 인터넷 인프라 서비스 제공업체 라고 합니다.)

Cloudflare 접속 및 로그인, 도메인 입력

우선 https://www.cloudflare.com/ 로 접속합니다. 아이디를 만들고 (구글이나 애플 계정 연동 가능) 시작합니다. 로그인 후 첫 화면에 도메인을 입력하는 칸이 있는데, 미리 준비해둔 도메인 (필자의 경우 mdcalc.co.kr) 을 입력합니다.

Cloudflare Name server 등록, DNS record 수정

DNS 의 Record menu 에는 다음과 같은 내용이 있습니다.

(1) 먼저 cloudflare nameserver 2개를 도메인을 구입한 곳에 등록합니다. 저는 가비아에서 도메인을 구입했는데, mdcalc.co.kr 도메인에 이 nameserver 2개를 설정하였습니다.

(2) DNS record 에 다음과 같이 입력합니다. (type A, type CNAME 을 입력) 숫자로 된 IP 는 내가 리디렉션 시킬 사이트의 고정 IP 주소입니다. (저는 임의로 12.34.56.78 로 편집해서 적었습니다.)

도메인 구입처 (필자의 경우 가비아) 사이트에 cloudflare 의 nameserver 가 등록되고 전파되면 (시간이 걸릴 수 있습니다.) 상단에 내 도메인이 active 라고 바귀고, overview 화면에서도 준비되었다는 의미의 문구들이 나옵니다.

Redirect rules 설정

Redirect menu 에서 rule 을 만드는데, Redirect to a different domain 탬플릿을 사용하면 됩니다. 다음 내용으로 항목을 작성하면 완성입니다. 참고로 deploy 라는 버튼이 곧 save 라는 의미입니다. 입력 후 클릭하면 됩니다. (아래는 수정화면인데, 처음 입력화면과는 다르지만, 내용은 같습니다. 처음 입력할 때 저장을 해두지 않아서 수정화면으로 대신합니다.)

  • FieldHostname
  • Operatorequals
  • Valuemdcalc.co.kr
  • OR
  • FieldHostname
  • Operatorequals
  • Valuewww.mdcalc.co.kr
  • URL redirect
  • TypeDynamic
  • Expression → concat(“https://www.medcalc.co.kr”, http.request.uri.path)
  • Status code301
  • Preserve query string → 체크

모두 끝났습니다. 이제 mdcalc.co.kr 로 접속하면 medcalc.co.kr 로 301 redirection 됩니다.

댓글 남기기