클라우드플레어와 HTTPS 적용

dev | 2016-03-07

서버를 디지털오션으로 옮기고나서 이미지 로딩되는 속도가 좀 느려졌는데 현진이 재차 클라우드플레어(CloudFlare)를 추천해 줬다. 예전에도 추천을 받았었는데 적용할 별다른 이유가 없어서 사용하지 않고 있었다.

5분만에 가능하다는 카피 문구("Give us five minutes and we’ll supercharge your website.")처럼 적용은 꽤나 간단하다. 내 서버를 클라우드플레어에 알려주고 도메인의 네임서버를 클라우드플레어의 것으로 옮기면 설정이 완료된다. 적용도 금방되고 적용되니 이미지 로딩 속도도 훨씬 빨라졌다. 하루가 지난 후에 리포트를 확인해보니 트래픽도 많이 절감되고 공격도 막아주고 한다. 다만 도메인이 클라우드플레어에 연결되어 있으니 ssh로 서버에 접속할 때 IP로만 접속이 가능하다.

몇일을 사용하다가 클라우드플레어를 이용해서 HTTPS를 적용할 수 있다는 글을 봤다. 서버에 SSL을 활성화 하려면 인증서도 사야하고 서버에 설치도 해야하고 정기적으로 인증서 교체도 해줘야 하는 등 부담이 많이 되어서 적용하지 못하고 있었다. 무료 인증서도 많이 나왔지만 설치나 교체작업은 여전히 부담이 됐다. 그런데 클라우드플레어를 사용하면 이런 고민없이 바로 HTTPS를 적용할 수 있다.

설정도 매우 쉽다. 그냥 크립토(Crypto) 메뉴에서 SSL을 유연하게(Flexible)로 바꿔주기만 하면 된다. 그러면 사용자와 클라우드플레어 사이에 SSL가 적용되고 클라우드플레어와 내 서버사이는 HTTP로 통신을 하게 된다. 내 서버에도 SSL이 활성화되어 있으면 유연하게말고 전부(Full)로 설정하면 된다. 모든 구간이 암호화 되지는 않지만 프론트 웹서버와 사용자 구간은 암호화가 되니 훨씬 좋아졌다. 그리고 HTTP로 들어오는 연결을 HTTPS로 보내려면 'http://hyeonseok.com/*'를 'Always uses https'로 설정하는 페이지 규칙(Page Rule)을 하나 추가하면 된다.

이렇게 하고나니 주소창 옆에 녹색으로 잘 나오기는 하는데 기존에 HTTP 프로토콜을 명시해서 연결한 이미지가 있는 경우 일부 페이지에서는 '[Mixed Content]'경고가 나왔다. Firefox에서만 경고가 나오고 다른 브라우저에서는 잘 나오는 걸로 봐서 약간의 온도차가 있나보다. 굳이 이 부분들까지 다 녹색으로 나오게 바꿀 필요가 있는지는 잘 모르겠지만 깔끔한게 좋아서 다 바꿨다.

검색을 좀 해보니 보안이나 DDOS 공격 방어, 트래픽 절감 등의 이유로 많이들 사용하는 것 같은데 무료지만 상당히 유용한 서비스라고 생각된다.

Comments

  • 조현진 2016-03-07

    오호, 좋은 정보 감사합니다. 저도 짬내서 해봐야겠네요.

  • MinyMin 2017-03-16

    좋은 글 정말 잘 봤습니다 :-)

  • nzzi 2017-05-19

    안녕하세요. 이미 다른 계정에 ssl 이 virtualhost 로 443 포트가 잡혀 있는 경우에는 어떻게 해야 하나요? ㅠ

  • 신현석 2017-05-21

    nzzi, 도메인 단위로 네임서버 변겨을 통해 적용되기 때문에 계정이나 버추얼 호스트와는 관련이 없습니다. 이미 SSL이 활성화 되어 있는 경우는 SSL을 Full로 설정하면 됩니다. https://support.cloudflare.com/hc/en-us/articles/200170416-What-do-the-SSL-options-mean-?mobile_site=true

Post a comment

:

: 공개 되지 않습니다. Gravatar를 표시 합니다.

:

: HTML 태그를 사용할 수 없습니다.