반응형

웹호스팅 : 카페24  10G 광아우토반 FullSSD Plus 절약형

도메인 : 가비아

개발환경 : PHP8, codeigniter 4

 

 

잡담

cloudflare가 뭔지 잘 몰랐다. 그냥 ssl인증서를 무료로 제공하는 그 어떠한 무언가로 알았다.

그래서 이번에 도메인을 변경하는 김에 cloudflare로 인증서를 적용해보고자 했다.

 

 

cloudflare란?

트래픽을 대신 받아주는 프록시 역할을 한다.

내가 사용하기위한 목적이었던 ssl 제공 뿐만 아니라 DDoS공격, 악성 봇 등의 위협을 막아주고

캐싱 및 최적화 기능으로 사이트 속도도 개선되는 플랫폼이다.

 

 

 

문제상황

너무 간단하게 생각했다.

기존의 a.com이라는 도메인을 b.kr로 변경해야했다.

그래서 순서를 다음과 같이 진행했다.

 

1. 카페24에서 a.com에서 b.kr로 도메인 변경처리했다.

2. cloudflare에서 회원가입하고 b.kr를 연동했다.

3. 다음 cloudflare의 네임서버 2개를 가비아에서 변경을 했다.

유형
NS jakub.ns.cloudflare.com
NS simone.ns.cloudflare.com

4. cloudflare에서 SSL/TLS > Origin Server에서 Create Certificate를 했다.

5. cloudflare에서 생성한 pem과 key를 복사했다.

6. 카페24에서 외부 SSL 인증서 설치메뉴에서 해당 pem과 key를 붙여보니 아래와 같이

'입력하신 인증서의 설치는 제공되지 않습니다. 고객센터로 문의 해 주십시오.' 알림이 나왔다.

입력하신 인증서의 설치는 제공되지 않습니다. 고객센터로 문의 해 주십시오.

 

이 오류는 잘못된 인증서가 아니다. 잘못된 인증서를 입력하면 ' 인증서 (SSL CRT) 올바르지 않습니다. 인증서를 다시 입력해 주십시요. ' 라고 뜨기 때문이다.

인증서 (SSL CRT) 올바르지 않습니다. 인증서를 다시 입력해 주십시요.

 

7. 웹사이트 접속해보니, SSL handshake failed Error code 525가 발생했다고 뜬다.

SSL handshake failed

 

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 modeFull(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의 기능을 제대로 이해하면서 여러 가지를 경험하게 된 것은 유익했다.

반응형

포스팅 내용이 도움 되셨다면 를 눌러주세요 ~_~

반응형
상황

 

테이블 추가해야할 일이 있어서 간만에 db접속하려하니, 해당 알럿이 뜬다.

 

Host ip is not allowed to connect to this MariaDB Server

 

아이피가 거부됬다는데, 이상하다.. 나는 제한한적도 아이피가 바뀐적도 없는것 같은데,

 

메뉴를 한참 찾다가 역시 구글링해서 확인해보니, DB접속 가능한 IP를 내가 설정했었다.

 

IP는 왜 바뀌었을까 싶었는데, 최근에 공유기를 껏다 킨 적이 있는데 이때문인듯 하다. 

 

해결법 (카페24 메뉴 위치)

 

어찌되었든,  해당 오류로 인해 확인할 수 있는 메뉴는 

 

1. 카페24 호스팅센터로 로그인

2. 나의 서비스 관리 클릭, 이동

 

3. 호스팅관리 > 기본관리 > 서비스 사용현황 이동

 

스크롤을 내려보면 MySQl 외부 IP 접근설정 부분이 있다.

 

 

사용유무 : 사용중 옆에 설정하기 버튼을 눌러, 기존에 등록한 사용하지 않는 외부 IP를 삭제하고 새로 등록해줬다.

 

돌아와 DB 접속해보니 잘되는 것을 확인하였다.

반응형

포스팅 내용이 도움 되셨다면 를 눌러주세요 ~_~

반응형

 

 

3개월 동안 사용하던 ZeroSSL 인증서가 내일 만료이다.

몇일 전 미리 알림 메일을 받았지만, 계속 미루다 보니 이렇게 기한이 임박해렸다. 😅

그래도 갱신하려고 시도했는데...

 

 

몇 번 해봐도 잘 되지 않더니, 결국 Limit Reached라는 메시지가 뜬다.

아마 무료 발급 한도를 초과한 것 같다.

 

찾아보니 이러한 경우. 사람들이  Let's Encrypt로 많이 갈아타는 듯 하다.

Let's EncryptLet's Go! 해야겠다.


Let's Encrypt 발급

나는 윈도우를 사용하며, 이전에 이미 우분투를 설치를 하였다.

 

설치가 되어있다면, 우부투를 관리자권한으로 실행한다.

sudo certbot certonly -d 도메인주소입력하세요 --manual --preferred-challenges dns

 

ex) sudo certbot certonly -d abcdefg.com --manual --preferred-challenges dns

 

 

입력한 후 위와 같이 노란색칠 한 텍스트를 복사한 후

 

카페24 접속 후 도메인관리 > 도메인 부가서비스 > DNS  관리로 이동

 

 

도메인을 선택한 후

 

TXT 관리 > TXT 추가 버튼을 클릭한다.

 

 

위 이미지처럼 아까 복사한 값을 입력해준다.

 

그리고 우분투로 돌아가서 Press Enter to Continue라고 되어있는데, Enter를 쳐준다.

 

그런 후에 Successfully received certificate. 라고 나오고 뭐라뭐라 나오면 인증서 파일드리 정상적으로 생성 되었을 것이다.

 

su -

 

루트권한으로 전환한다.

 

cd /etc/letsencrypt/live/abcdefg.com/

 

으로 디렉토리를 이동하게되면, pem파일들이 있는 것을 확인할 수 있다.

 

vi 편집 명령어를 사용하여 cert.pem파일과 privkey.pem 파일 내용을 복사하여

(한 글자도 빼먹지 말 것. ---- BEGIN ~ ---- END까지 모든 텍스트를 복사)

 

카페24 호스팅 페이지의 인증서관리 > 외부인증서 관리페이지로 이동한다.

 

cert.pem파일은, 인증서(SSL CRT) 텍스트 입력창에 입력하고,

 

privkey.pem 파일은, 개인키(Private Key) 텍스트 입력창에 입력한다.

 

 

모두 입력했다면, 비밀번호는 입력할 필요가 없고

 

인증서(SSL CRT)의 인증서 확인 버튼을 눌러 확인 후, 하단에 신청하기 버튼을 누르면 끝이다.

 

바로 적용은 되지 않으며, 꽤 시간이 필요하다.

 

 

한 시간이 넘은 듯 한데, 아직도 진행중.

 

 

카페24 챗봇에 물어보니, 최대 3일 걸린다고하니 기다려봐야지 😅

 

금요일 오후여서 그런지 다음날 확인해보니 적용된 것을 확인할 수 있었다.

반응형

포스팅 내용이 도움 되셨다면 를 눌러주세요 ~_~

+ Recent posts