Let's Encrypt 스테이징 환경

Let's Encrypt 스테이징 환경 (Staging Environment)

프로덕션에 쓰기 전에 스테이징 환경에서 테스트하는 걸 Let's Encrypt가 강력히 권장해요. 스테이징에선 검증·발급 흐름을 미리 손보고, 프로덕션 리밋을 소모하지 않고 안전하게 실수를 해볼 수 있어요.

출처: https://letsencrypt.org/docs/staging-environment/

ACME v2 스테이징 환경의 URL은 이래요.

https://acme-staging-v02.api.letsencrypt.org/directory

Certbot을 쓴다면 --test-cert--dry-run 플래그로 스테이징을 쓸 수 있어요. 다른 ACME 클라이언트도 제각각의 테스트 옵션이 있어요.

스테이징은 프로덕션과 같은 리밋 구조를 쓰지만 값이 훨씬 후해요. 예를 들어 New Orders per Account가 프로덕션 300/3h인데 비해 스테이징은 1500/3h이고, New Certificates per Registered Domain은 30000/초예요. 그래서 개발·테스트·튜러블슈팅에 부담 없이 쓸 수 있어요.

주의할 점이 몇 가지 있어요.

  • ACME 계정은 환경마다 분리돼요. 스테이징용 별도 계정이 필요해요(Certbot은 자동 처리).
  • 스테이징 인증서의 chain을 브라우저·클라이언트의 일반 신뢰 저장소에 추가하지 마세요. 스테이징 루트·중간 인증서는 프로덕션만큼 감사·관리되지 않아 테스트 외 용도로는 안전하지 않아요. 테스트 전용 클라이언트라면 테스트용 신뢰 저장소에 추가해 테스트할 수 있어요.
  • 스테이징 루트는 (STAGING) Pretend Pear X1, (STAGING) Bogus Broccoli X2, (STAGING) Yearning Yucca Root YE, (STAGING) Yonder Yam Root YR처럼 프로덕션과 확연히 다른 이름을 써요.

스테이징은 개발·CI 환경과는 잘 안 맞아요. 외부 서버로 네트워크 요청을 보내면 불안정해지고, DNS나 챌린지 검증 성공을 "가짜로" 만들 방법이 없어 테스트 설정이 복잡해져요. CI/개발 환경에는 Let's Encrypt가 따로 만든 작은 ACME 서버인 Pebble을 쓰는 게 낫습니다. 도커로 빠르게 띄울 수 있어요.

더 알아보기