nginx: [warn] "ssl_stapling" ignored, no OCSP responder URL in the certificate "/etc/letsencrypt/live/johndoe.com/fullchain.pem"
― 어느 날 갑자기 이런 경고가 떴습니다.
조사해 보니, Let’s Encrypt(LE)의 OCSP 지원 종료 계획이 그 원인이었습니다.
배경과 문제 인식
🔍 현상
Let’s Encrypt 인증서를 nginx에 설정하고 ssl_stapling on;
옵션을 켰는데,
로그에 "no OCSP responder URL"
경고와 함께 stapling이 무시되는 경우가 발생합니다.
💡 원인
LE는 2025년 5월 7일부터 OCSP URL을 인증서에서 제거하고,
8월 6일부터 OCSP 응답 서버 자체를 종료합니다 (letsencrypt.org).
찬반 논란 정리
✅ OCSP Stapling 찬성
장점 | 설명 |
---|---|
성능 향상 | 인증서의 상태를 서버가 미리 가져와 핸드셰이크에 포함 → 브라우저 요청 제거, 최대 30% 성능 향상 |
프라이버시 보호 | 브라우저가 CA에 사용자 정보 노출 없이 stapling 응답으로 처리 |
보안 강화 | Must‑Staple 적용 시, 응답 없으면 연결 거부 → 연결 강제 검증 가능 |
⚠️ OCSP Stapling 반대/한계
- LE 인증서엔 의미 없음: 인증서에 OCSP URL이 없으므로 설정은 무시됨 (community.letsencrypt.org).
- 응답 제공 서버 의존: stapling용 OCSP responder가 다운되면 cache가 없을 경우 연결 오류 가능 (encryptionconsulting.com).
- 인터미디엇 인증서 처리 제한: TLS1.2 기준, 중간 CA에 대한 stapling이 지원되지 않는 경우도 있음 (sectigostore.com).
성능 비교 테스트 요약
Cloudflare 테스트 결과(예: EC2 기준)는 다음과 같습니다:
- 직접 OCSP 조회: TLS 핸드셰이크마다 CA 요청 → 지연 및 DNS/HTTP 오버헤드 발생.
- OCSP Stapling 적용: 브라우저 요청 대신 서버가 처리 → 최대 30% 핸드셰이크 속도 개선 (security.stackexchange.com, blog.cloudflare.com).
실제 페이지 로딩 단축, TLS 연결 수 감소, CA 인프라 부담 감소 등의 실제 효과도 확인됨.
한눈에 보는 비교 테이블
항목 | OCSP Stapling 존재 | LE 인증서 이후(OCSP 제거) |
---|---|---|
ssl_stapling 경고 | 없음 | "no OCSP responder URL" 경고 발생 |
성능 효과 | 최대 30% 향상 | 없음 (stapling 항목 무시) |
프라이버시 보호 | 굿 | 무의미 |
보안 옵션 (Must‑Staple) | 사용 가능 | 실효 없음 |
구성 필요 | ssl_stapling + resolver 등 설정 | 설정 제거 가능 |
대처 및 권고 방안
🧩 상황별 대응
- LE 인증서만 사용 중
→ 5~8월에 stapling 관련 설정은 제거 또는 무시해도 안전합니다 (scotthelme.co.uk, community.letsencrypt.org, blog.cloudflare.com, serverfault.com).
→ 로그 경고가 거슬린다면ssl_stapling off;
만으로 해결됩니다. - 여러 CA 혼용 중
→ 다른 CA가 제공하는 OCSP URL은 여전히 유효하므로 stapling 설정은 유지하세요. - CRL 대비 준비
→ LE는 OCSP 대신 CRL 방식을 채택하므로, revocation 체크가 필요한 경우 CRL 관련 설정/모니터링 툴을 살펴보세요.
결론 및 요약
- LE는 2025년부터 OCSP URL 제거, 8월 응답 종료 예정 (en.wikipedia.org, scotthelme.co.uk, letsencrypt.org).
- LE 인증서만 쓰는 환경에선 stapling 설정이 무의미하며 설정 정리가 추천됨.
- 그러나 OCSP stapling 자체는 타 CA 사용 시 성능·프라이버시·보안 측면에서 여전히 유효한 옵션임을 기억하세요.
✅ 끝맺음
“Let’s Encrypt 인증서만 쓴다면 지금 바로 ssl_stapling
설정을 꺼도 안전합니다. 하지만 아직 다른 CA도 혼용한다면 설정 유지가 좋고요.”
이제 로그 경고도 깔끔하게 정리할 수 있을 거예요.
필요하면 CRL 설정이나 Must‑Staple 인증 구조도 추가로 다뤄드릴게요. 댓글이나 문의 언제든 환영합니다!