Lesson 12 of 20
오리진 인증서 — 15년짜리 뒷문 자물쇠
브라우저는 안 믿는다. 클라우드플레어만 믿는다
Full (strict) 로 가려면 내 서버에 인증서가 있어야 합니다. Let's Encrypt 를 써도 되지만, 프록시 뒤라면 더 편한 길이 있습니다.
클라우드플레어가 오리진 인증서를 공짜로 내줍니다. 유효기간이 15년이에요 — 90일마다 갱신할 일이 없습니다.
세 걸음
| # | 무엇을 |
|---|---|
| 1 | SSL/TLS → Origin Server → Create Certificate.
호스트에 example.com 과 *.example.com 둘 다 넣습니다 |
| 2 | 화면에 인증서와 개인키가 뜹니다. 개인키는 이때 한 번만 보입니다 — 창을 닫으면 다시 못 봅니다 |
| 3 | 서버에 파일 두 개로 저장하고 nginx 를 가리킵니다 |
$ sudo nano /etc/ssl/certs/example.com.pem # 인증서
$ sudo nano /etc/ssl/private/example.com.key # 개인키
$ sudo chmod 600 /etc/ssl/private/example.com.key
$ sudo chown root:root /etc/ssl/private/example.com.key
nginx 에 붙이기
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.pem;
ssl_certificate_key /etc/ssl/private/example.com.key;
…
}
$ sudo nginx -t && sudo systemctl reload nginx
nginx -t 를 먼저 하는 습관을 들이세요.
문법이 틀린 채로 reload 하면 서버 전체가 안 뜹니다.
갱신을 잊어 사이트가 죽는 사고를 15년 미루는 셈입니다.
Python
Runs in your browser
🤔 Check yourself
오리진 인증서를 깔고 프록시를 회색(DNS only) 으로 바꿨습니다. 무슨 일이?
Answer 오리진 인증서의 사슬은 브라우저의 루트 목록에 닿지 않습니다. 클라우드플레어가 앞에 서 있을 때만 쓰이는 뒷문 자물쇠예요.