8. 카페24에 문의해보니 정상적인 인증서가 아니며, pem말고도 crt를 달라고한다. cloudflare는 key와 pem만 있다구 ㅠㅠ
많은 구글님 검색과 삽질 끝에 cloudflare의 인증서를 카페24로 설치하는 것은 불가능하다고 판단했다.(하신분 댓글 좀 부탁드립니다.)
무료인증서 ZeroSSL나 Let's Encrypt를 카페24서버에 발급하기로했다. 그러나, 너무 많은 삽질로 인해 발급한도제한에 걸려버려서... 풀리면 적용하기로했다.
SSL handshake failed 발생 원인 및 해결법
SSL handshake failed가 발생한 이유는 결국 cloudflare는 클라이언트의 요청을 ssl적용되서 통신을한다.(기본 제공)
그런데, 내 orgin server(카페24 웹호스팅 서버) ssl인증서를 적용 못한 상황이다. 그런데 나의 cloudflare의 Current encryption mode가 Full(strict)로 되어있었다. 그러니 SSL handshake failed가 뜬 것이다. Flexible로 변경해야한다.
Current encryption mode 변경 위치 : cloudflare -> SSL/TLS -> Overview -> Configure
우선 이렇게 하고, ssl발급이 풀리면 Full(strict)로 할 것이다.
만약에 위 방법으로 해결되지 않았고, 소스코드에서 http요청을 https리다이텍트하는 설정을 했으며 카페24 웹호스팅서버를 이용하고 있다면? 아래 내용을 참고하자
사실 위에서 해결이 되어야하겠지만, 예외는 있다.
그러면 ssl인증서를 orgin서버에 발급하지 않은상태로 운영하기 위해 어떻게 해서 내가 해결을 했나?
1. cloudflare와의 연동을 삭제했다.
2. 가비아에서 네임서버 설정을 기존에 cloudflare로 했던것을 카페24로 변경했다.
3. 여기까지 했다면 시간을 좀 기다려야한다. 삭제 적용 및 네임서버 설정이 시간이 걸릴 수도 있다.
여기까지가 기존 카페24 웹호스팅 서버와 가비아 도메인 연결한 상태이다.
4. 그리고 소스코드를 변경한다. https로 리다이렉트하는 작업을 위해 수정했던 모든 코드를 리다이렉트 하지 않도록 변경한다.
5. 소스코드를 서버에 반영을 잘했다면, cloudfalre에 접속해서 다시 연동시킨다.
6. 가비아에 접속해 네임서버를 cloudfalre것으로 변경해준다
네임서버 정보는 cloudflare에 DNS⇒Records⇒Cloudflare Nameservers에 있다.
7. Current encryption mode: Flexible로 변경해준다.
cloudflare 연동후 ssh/ftp 모두 카페24 서버접속이 되지않는다면,
ssh/ftp 모두 접속이 되지않는다면, 이경우에는 host명을 기존에 도메인주소로 했다면 카페24 서버아이피로 변경하면 정상적으로 접속이 된다. cloudflare로 우회하기때문에 일어나는 문제인듯 하다.
(이건 잘 모름 확실하지 않음 참고로 서버접속허용 아이피를 모두 허용해도 접속이 안되더라. 그러니 그냥 아이피로 하자.)
문제가 발생한다면, cloudflare에서 SSL/TLS ⇒ Edge Certificates에서 설정을 바꿔보고 Caching⇒Configuration에서 Purge Everything으로 캐시를 지워보자.
마무리
결국 무료 SSL 인증서를 적용하겠다는 목적은 달성했지만, 그 과정에서 여러 번의 삽질이 있었다. 그래도 Cloudflare의 기능을 제대로 이해하면서 여러 가지를 경험하게 된 것은 유익했다.