SSL/TLS 인증서 적용하기 (Cloudflare or Let's Encrypt with NPM)
목차
1. SSL/TLS 인증서
SSL이란 흔히 서버와 클라이언트가 통신할때 암호화를 위해 사용된다. 흔히 우리가 쉽게 말하자면 웹사이트를 제작할때 https를 입히려고할때 한다.
2. Cloudflare SSL/TLS 방식
Cloudflare의 SSL 인증 방식은 총 4가지가있다. ( ←🔒→ 는 SSL로 연결됨, ←─→ 는 일반적으로 연결됨을 의미한다)
1. 끄기
브라우저 ←─→ Cloudflare ←─→ 원본서버
아무 암호화도 적용되지않는다.
2. 가변
브라우저 ←🔒→ Cloudflare ←─→ 원본서버
사용자 입장에서는 HTTPS가 적용된 것으로 보이나 사실은 Cloudflare와 원본 사이 트래픽은 암호화가 되어있지 않다..
3. 전체
브라우저 ←🔒→ Cloudflare ←🔒→ 원본서버
모든 구간이 SSL로 연결되어있다.
4. 전체(엄격)
브라우저 ←🔒→ Cloudflare ←🔒→ 원본서버
모든 구간이 SSL로 연결되어있다. 그러나 Cloudflare와 원본 서버 사이에는 신뢰할 수 있는 인증서만 사용된다.
3. Cloudflare 인증서 발급
Cloudflare에서는 3가지 인증서를 발급해준다.
브라우저 ← ⓐ → Cloudflare ← ⓑ → 원본서
1. 에지 인증서 (Edge) 해당 인증서는 브라우저와 Cloudflare간의 ⓐ구간에서 사용되는 인증서이다. 별도로 다운 받을 순 없고 업로드만이 허용된다 (유료)
2. 클라이언트 인증서 (Client) 해당 인증서는 말그대로 사용자의 Client에 미리 허용해두는 인증서이다. 해당 인증서를 사용하기위해선 유저와 서버에 모두 설정해두어야 사용 할 수 있다.
3. 원본 서버 (Origin Certificate Authrority 보 CA라고함) 해당 인증서는 Cloudflare와 원본서버 간 ⓑ구간에서 사용되는 인증서이다. 서버에 적용시켜두면 작동은 하나 최대 단점으로는 클라이언트가 바로 직접 접속할 시 인증서를 신뢰 할 수 없다 오류가 표시된다. (Cloudflare Docs 참고)