Automatisierte TLS-Zertifikate in Angie: Vollständiger ACME-Modul-Leitfaden
Das ACME-Modul im Angie-Webserver automatisiert die Beschaffung und Erneuerung von TLS-Zertifikaten, einschließlich Wildcard-Zertifikaten, mit minimalem Aufwand. Die integrierte Unterstützung für das ACME-Protokoll macht externe Tools wie certbot überflüssig und vereinfacht die Einrichtung und Verwaltung der Website-Sicherheit.
Einrichtung von HTTP-Challenges für Standardzertifikate
Um Zertifikate über HTTP-Challenges (HTTP-01) zu erhalten, definieren Sie zunächst Eigenschaften in der acme_client-Direktive im http-Kontext. Hier ein Beispiel für RSA- und ECDSA-Zertifikate:
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;
}
Richten Sie dann Ihren Server so ein, dass er diese Zertifikate verwendet:
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 öffnet automatisch Port 80 für HTTP-Challenges, sofern nicht anders über acme_http_port angegeben. Überwachen Sie die Zertifikatsausstellung über error_log oder die API, mit Meldungen auf Notice-Ebene bei erfolgreichen Erneuerungen.
Wildcard-Zertifikate über DNS-Verifizierung erhalten
DNS-Challenges (DNS-01) sind für Wildcard-Zertifikate erforderlich, die Zweitdomänen und alle Drittlevel-Subdomänen abdecken. Nutzen Sie Zonen-Delegation, indem Sie DNS-Einträge im Hosting-Panel erstellen:
_acme-challenge.site.ru. 60 IN NS ns.site.ru.
ns.site.ru. 60 IN A {IP-des-Servers}
Richten Sie dann acme_client mit dem Parameter challenge=dns ein:
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 öffnet Port 53 für DNS-Abfragen; verwenden Sie acme_dns_port, um Konflikte mit lokalen Diensten zu vermeiden.
Alternative Methoden und erweiterte Funktionen
Wenn Standard-Challenges nicht möglich sind, unterstützt das ACME-Modul benutzerdefinierte Hooks, um Dateierstellung oder DNS-Eintragsverwaltung an externe Anwendungen auszulagern. Es unterstützt auch die TLS-ALPN-01-Methode, nützlich, wenn Port 80 nicht geöffnet werden kann, aktiviert über challenge=alpn.
Wichtige Vorteile
- Automatisierung: Das ACME-Modul von Angie automatisiert die Ausstellung und Erneuerung von TLS-Zertifikaten, einschließlich Wildcards, vollständig ohne manuelle Eingriffe.
- Flexibilität: Unterstützt HTTP-01-, DNS-01- und TLS-ALPN-01-Challenges sowie benutzerdefinierte Hooks für komplexe Setups.
- Performance: Zertifikate werden in den Server-Speicher geladen und können mit
ssl_certificate_cachefür Optimierung gecacht werden. - Kompatibilität: Funktioniert mit jedem ACME-kompatiblen Anbieter wie Let's Encrypt.
- Überwachung: Integriert sich in
error_logund API zur Statusverfolgung von Zertifikaten.
Praktische Tipps zur Umsetzung
Beim Einrichten des ACME-Moduls beachten Sie diese Punkte:
- Testen: Nutzen Sie die Staging-Umgebung von Let's Encrypt für erste Einrichtungen, um Rate-Limits zu vermeiden.
- Sicherheit: Stellen Sie sicher, dass der
resolver-DNS-Server vertrauenswürdig ist, und deaktivieren Sie IPv6 bei Bedarf. - Caching: Konfigurieren Sie
ssl_certificate_cache, um die Performance zu steigern, insbesondere bei Zertifikatsvariablen. - Ports: Steuern Sie Challenge-Ports mit
acme_http_portundacme_dns_port, um Konflikte zu verhindern.
Das ACME-Modul von Angie ist ein mächtiges Werkzeug, das die TLS-Zertifikatsverwaltung vereinfacht, Betriebskosten senkt und die Sicherheit von Webanwendungen steigert. Die nahtlose Integration ermöglicht Entwicklern und Admins, sich auf Kernaufgaben zu konzentrieren statt auf Routinewartung.
— Editorial Team
Noch keine Kommentare.