홈으로 돌아가기

Angie에서 ACME 모듈을 사용한 TLS 인증서 자동화: 가이드

이 기사는 Angie 웹 서버에서 ACME 모듈을 설정하여 TLS 인증서를 자동으로 발급하고 갱신하는 방법에 대해 다룹니다. 와일드카드 인증서를 포함한 HTTP 및 DNS 검증 방법과 실전 구성 예제를 다룹니다.

Angie에서 TLS 인증서 자동화: 완전한 ACME 가이드
Advertisement 728x90

Angie에서 TLS 인증서 자동화: ACME 모듈 완전 가이드

Angie 웹 서버의 ACME 모듈은 최소한의 노력으로 TLS 인증서 발급과 갱신을 자동화합니다. 와일드카드 인증서도 지원하며, 내장된 ACME 프로토콜로 certbot 같은 외부 도구 없이 사이트 보안을 간편하게 설정하고 관리할 수 있습니다.

표준 인증서를 위한 HTTP 챌린지 설정

HTTP 챌린지(HTTP-01)를 통해 인증서를 발급하려면 http 컨텍스트 내 acme_client 지시어에서 속성을 정의하세요. RSA와 ECDSA 인증서 예시 구성:

http {
  resolver 127.0.0.53 ipv6=off;
  acme_client rsa      https://acme-v02.api.letsencrypt.org/directory key_type=rsa;
  acme_client ecdsa    https://acme-v02.api.letsencrypt.org/directory;
}

그 다음 서버에서 이 인증서를 사용하도록 설정:

Google AdInline article slot
server {
  listen 443 ssl;
  server_name site.ru www.site.ru test.site.ru company.ru;
  acme rsa;
  acme ecdsa;
  ssl_certificate         $acme_cert_rsa;
  ssl_certificate_key $acme_cert_key_rsa;
  ssl_certificate         $acme_cert_ecdsa;
  ssl_certificate_key $acme_cert_key_ecdsa;
}

Angie는 acme_http_port로 별도 지정하지 않으면 자동으로 80번 포트를 열어 HTTP 챌린지를 처리합니다. 인증서 발급 상태는 error_log나 API로 확인하며, 성공적인 갱신 시 notice 레벨 메시지가 기록됩니다.

DNS 검증으로 와일드카드 인증서 발급

2차 도메인과 모든 3차 서브도메인을 커버하는 와일드카드 인증서는 DNS 챌린지(DNS-01)가 필요합니다. 호스팅 패널에서 DNS 레코드를 생성해 존 위임을 설정하세요:

_acme-challenge.site.ru. 60    IN      NS       ns.site.ru.
             ns.site.ru. 60    IN       A       {서버_IP}

그 다음 challenge=dns 매개변수로 acme_client를 설정:

Google AdInline article slot
http {
  resolver 127.0.0.53 ipv6=off;
  acme_client ecdsa    https://acme-v02.api.letsencrypt.org/directory challenge=dns;
  server {
    listen 443 ssl;
    server_name site.ru *.site.ru;
    acme ecdsa;
    ssl_certificate         $acme_cert_ecdsa;
    ssl_certificate_key $acme_cert_key_ecdsa;
  }
}

Angie는 DNS 쿼리를 위해 53번 포트를 열어요. 로컬 서비스 충돌을 피하려면 acme_dns_port를 사용하세요.

대체 방법과 고급 기능

표준 챌린지가 불가능할 때 ACME 모듈은 파일 생성이나 DNS 레코드 관리를 외부 앱으로 위임하는 커스텀 훅을 지원합니다. 80번 포트를 열 수 없을 때는 challenge=alpn으로 TLS-ALPN-01 방법을 사용할 수 있어요.

주요 이점

  • 자동화: Angie ACME 모듈은 와일드카드 포함 TLS 인증서 발급과 갱신을 완전 자동화해 수동 작업이 필요 없습니다.
  • 유연성: HTTP-01, DNS-01, TLS-ALPN-01 챌린지와 복잡한 설정을 위한 커스텀 훅을 지원합니다.
  • 성능: 인증서를 서버 메모리에 로드하고 ssl_certificate_cache로 캐싱해 최적화할 수 있습니다.
  • 호환성: Let's Encrypt 같은 모든 ACME 준수 제공자와 작동합니다.
  • 모니터링: error_log와 API로 인증서 상태를 추적합니다.

구현 실전 팁

ACME 모듈 설정 시 다음을 유의하세요:

Google AdInline article slot
  • 테스트: 초기 설정 시 Let's Encrypt 스테이징 환경을 사용해 속도 제한을 피하세요.
  • 보안: resolver DNS 서버가 신뢰할 수 있는지 확인하고 필요 시 IPv6를 비활성화하세요.
  • 캐싱: 인증서 변수 사용 시 ssl_certificate_cache로 성능을 높이세요.
  • 포트: acme_http_portacme_dns_port로 챌린지 포트를 제어해 충돌을 방지하세요.

Angie의 ACME 모듈은 TLS 인증서 관리를 간소화해 운영 비용을 줄이고 웹 앱 보안을 강화합니다. 원활한 통합으로 개발자와 관리자가 일상 유지보수 대신 핵심 업무에 집중할 수 있어요.

— Editorial Team

Advertisement 728x90

다음 읽기