Powrót do strony głównej

Automatyzacja certyfikatów TLS w Angie z modułem ACME: przewodnik

Artykuł poświęcony jest konfiguracji modułu ACME w serwerze WWW Angie do automatycznego pobierania i aktualizacji certyfikatów TLS. Omówiono metody weryfikacji HTTP- i DNS-, w tym certyfikaty wildcard, z praktycznymi przykładami konfiguracji.

Automatyzuj certyfikaty TLS w Angie: kompletny przewodnik po ACME
Advertisement 728x90

Automatyzacja certyfikatów TLS w Angie: kompleksowy przewodnik po module ACME

Moduł ACME w serwerze internetowym Angie umożliwia automatyzację uzyskiwania i odnawiania certyfikatów TLS, w tym wildcard, z minimalnym wysiłkiem. Wbudowane wsparcie dla protokołu ACME eliminuje zależność od zewnętrznych narzędzi takich jak certbot, upraszczając konfigurację i zarządzanie bezpieczeństwem witryn.

Konfiguracja weryfikacji HTTP dla standardowych certyfikatów

Aby uzyskać certyfikaty poprzez weryfikację HTTP (HTTP-01), rozpocznij od opisu właściwości w dyrektywie acme_client w kontekście http. Przykładowa konfiguracja dla certyfikatów RSA i 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;
}

Następnie skonfiguruj serwer do używania tych certyfikatów:

Google AdInline article slot
server {
  listen 443 ssl;
  server_name site.pl www.site.pl test.site.pl firma.pl;
  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 automatycznie otworzy port 80 dla weryfikacji HTTP, chyba że określono inaczej przez acme_http_port. Monitorowanie procesu wydawania certyfikatów odbywa się poprzez error_log lub API, z komunikatami poziomu notice o udanej aktualizacji.

Uzyskiwanie certyfikatów wildcard poprzez weryfikację DNS

Weryfikacja DNS (DNS-01) jest niezbędna dla certyfikatów wildcard, które obejmują domeny drugiego poziomu i wszystkie subdomeny trzeciego poziomu. Użyj delegowania strefy, tworząc rekordy DNS w panelu hostingowym:

_acme-challenge.site.pl. 60    IN      NS       ns.site.pl.
             ns.site.pl. 60    IN       A       {IP_serwera}

Następnie skonfiguruj acme_client z parametrem challenge=dns:

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.pl *.site.pl;
    acme ecdsa;
    ssl_certificate         $acme_cert_ecdsa;
    ssl_certificate_key $acme_cert_key_ecdsa;
  }
}

Angie otworzy port 53 dla zapytań DNS; użyj acme_dns_port, aby uniknąć konfliktów z lokalnymi usługami.

Alternatywne metody i zaawansowane możliwości

W przypadkach, gdy standardowe weryfikacje są niemożliwe, moduł ACME obsługuje niestandardowe haki, umożliwiające przeniesienie tworzenia plików lub rekordów DNS do zewnętrznych aplikacji. Dostępna jest również metoda TLS-ALPN-01, przydatna przy niemożności otwarcia portu 80, aktywowana parametrem challenge=alpn.

Co jest ważne

  • Automatyzacja: Moduł ACME w Angie w pełni automatyzuje uzyskiwanie i odnawianie certyfikatów TLS, w tym wildcard, bez ręcznej interwencji.
  • Elastyczność: Obsługa weryfikacji HTTP-01, DNS-01 i TLS-ALPN-01, a także niestandardowych haków dla złożonych infrastruktur.
  • Wydajność: Certyfikaty są ładowane do pamięci serwera i mogą być buforowane za pomocą ssl_certificate_cache w celu optymalizacji.
  • Zgodność: Działa z dowolnymi dostawcami obsługującymi protokół ACME, w tym Let's Encrypt.
  • Monitorowanie: Integracja z error_log i API do śledzenia statusu certyfikatów.

Praktyczne zalecenia dotyczące użytkowania

Przy konfiguracji modułu ACME uwzględnij następujące aspekty:

Google AdInline article slot
  • Testowanie: Do pierwszych ustawień użyj środowiska testowego Let's Encrypt, aby uniknąć blokady z powodu przekroczenia limitów.
  • Bezpieczeństwo: Upewnij się, że serwer DNS w dyrektywie resolver jest zaufany, i wyłącz IPv6 w razie potrzeby.
  • Buforowanie: Skonfiguruj ssl_certificate_cache dla poprawy wydajności, zwłaszcza przy użyciu zmiennych dla certyfikatów.
  • Porty: Zarządzaj portami do weryfikacji przez acme_http_port i acme_dns_port, aby uniknąć konfliktów z innymi usługami.

Moduł ACME w Angie stanowi potężne narzędzie do uproszczenia zarządzania certyfikatami TLS, zmniejszając koszty operacyjne i podnosząc bezpieczeństwo aplikacji internetowych. Jego integracja w serwerze internetowym pozwala programistom i administratorom skupić się na głównych zadaniach, minimalizując rutynowe operacje.

— Editorial Team

Advertisement 728x90

Czytaj dalej