내 잡다한 노트
Let's Encrypt란? 본문
Let's Encrypt에 대해
Let’s Encrypt은 무료로 SSL/TLS 인증서를 발급해 주는 인증 기관(CA, Certificate Authority)입니다. 2015년에 시작된 이 서비스는 비영리 단체인 ISRG(Internet Security Research Group)가 운영하며, 웹에서 HTTPS를 손쉽게 설정할 수 있도록 자동 발급과 갱신이 가능한 방식(ACME 프로토콜)을 제공합니다. 그 결과, 서버 관리자들이 인증서를 구매하고 수동으로 갱신해야 했던 번거로움을 크게 줄여주었습니다.
chain.pem 과 fullchain.pem 설명
Let’s Encrypt 인증서를 발급받으면 일반적으로 다음과 같은 파일들이 생성됩니다.
- cert.pem
- 서버(도메인)에 할당된 서버 인증서(server certificate) 만 포함된 파일입니다.
- chain.pem
- 최상위 루트 인증서(root CA)부터 중간 인증서(intermediate CA)들만 연결(chain) 하여 담은 파일입니다.
- 즉, 서버 인증서 자체는 포함하지 않고, 브라우저나 클라이언트가 신뢰할 수 있도록 해주는 중간~최상위 인증서들의 서명 체인을 담고 있습니다.
- fullchain.pem
- 서버 인증서(cert.pem) + 체인 인증서(chain.pem) 가 한 파일에 모두 들어있습니다.
- 서버가 HTTPS 연결 시 전체 인증 경로를 한 번에 제공할 수 있도록, 단일 파일로 묶어 둔 형식입니다.
- privkey.pem
- 개인 키(private key) 파일입니다. 공개 키와 짝을 이루는 비공개 키이므로 절대 외부에 노출되면 안 됩니다.
서버 설정 시, 웹 서버(예: Apache, Nginx 등)가 인증서를 어떻게 요구하는지에 따라 적절한 파일을 지칭해야 합니다.
- 예: Nginx에서 ssl_certificate 지시자에 fullchain.pem을, ssl_certificate_key 지시자에 privkey.pem을 지정하는 식으로 설정
- Apache에서도 SSLCertificateFile 지시자에 cert.pem이 아닌 fullchain.pem을 사용하기도 하고, 추가로 SSLCertificateChainFile을 별도로 설정하거나, 지원 버전에 따라 chain.pem을 따로 명시하지 않을 수도 있습니다.
'네트워크' 카테고리의 다른 글
--insecure-skip-tls-verify (0) | 2025.02.19 |
---|---|
openssl.cnf 예시와 SAN과 CN 이란? (0) | 2025.02.19 |
TLS 관련 용어, 개념 정리 (0) | 2025.02.19 |
Ping 이란? (0) | 2025.01.25 |
Spine and Leaf 네트워크 아키텍쳐 (0) | 2025.01.16 |