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:
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:
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_cachew celu optymalizacji. - Zgodność: Działa z dowolnymi dostawcami obsługującymi protokół ACME, w tym Let's Encrypt.
- Monitorowanie: Integracja z
error_logi API do śledzenia statusu certyfikatów.
Praktyczne zalecenia dotyczące użytkowania
Przy konfiguracji modułu ACME uwzględnij następujące aspekty:
- 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
resolverjest zaufany, i wyłącz IPv6 w razie potrzeby. - Buforowanie: Skonfiguruj
ssl_certificate_cachedla poprawy wydajności, zwłaszcza przy użyciu zmiennych dla certyfikatów. - Porty: Zarządzaj portami do weryfikacji przez
acme_http_portiacme_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
Brak komentarzy.