Acme.sh/Anwendung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(49 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | '''Acme.sh/Anwendung''' - Beschreibung | ||
== Beschreibung == | |||
{| class="wikitable big options" | |||
|- | |||
! Option !! Beschreibung | |||
|- | |||
| [[#Zertifikat ausstellen|Zertifikat ausstellen]] || | |||
|- | |||
| [[#Zertifikat installieren|Zertifikat installieren]] || | |||
|- | |||
| [[#Standalone-Server|Standalone-Server]] || | |||
|- | |||
| [[#Eigenständigen SSL-Server|Eigenständigen SSL-Server]] || | |||
|- | |||
| [[#Apache-Modus|Apache-Modus]] || | |||
|- | |||
| [[#Nginx-Modus|Nginx-Modus]] || | |||
|- | |||
| [[#DNS-API-Integration|DNS-API-Integration]] || | |||
|- | |||
| [[#Manueller DNS-Modus|Manueller DNS-Modus]] || | |||
|- | |||
| [[#ECC-Zertifikate|ECC-Zertifikate]] || | |||
|- | |||
| [[#Wildcard-Zertifikate|Wildcard-Zertifikate]] || | |||
|- | |||
| [[#Zertifikate erneuern|Zertifikate erneuern]] || | |||
|- | |||
| [[#Update acme.sh|Update acme.sh]] || | |||
|- | |||
| [[#Benachrichtigungen|Benachrichtigungen]] || | |||
|} | |||
== Zertifikat ausstellen == | |||
=== Einzelne Domäne === | |||
; Alternativen | |||
acme.sh --issue -d example.com -w /home/wwwroot/example.com | acme.sh --issue -d example.com -w /home/wwwroot/example.com | ||
acme.sh --issue -d example.com -w /home/username/public_html | acme.sh --issue -d example.com -w /home/username/public_html | ||
acme.sh --issue -d example.com -w /var/www/html | acme.sh --issue -d example.com -w /var/www/html | ||
=== Mehrere Domänen in einem Zertifikat === | |||
acme.sh --issue -d example.com -d www.example.com -d cp.example.com -w /home/wwwroot/example.com | acme.sh --issue -d example.com -d www.example.com -d cp.example.com -w /home/wwwroot/example.com | ||
Der Parameter <code>/home/wwwroot/example.com</code> oder <code>/home/username/public_html</code> oder <code>/var/www/html</code> ist der Web-Stammordner, in dem Sie die Dateien Ihrer Website hosten | Der Parameter <code>/home/wwwroot/example.com</code> oder <code>/home/username/public_html</code> oder <code>/var/www/html</code> ist der Web-Stammordner, in dem Sie die Dateien Ihrer Website hosten | ||
* Sie '''MÜSSEN''' <code>Schreibzugriff</code> auf diesen Ordner haben | |||
Das zweite Argument '''"example.com"''' ist die Hauptdomain, für die Sie das Zertifikat ausstellen möchten | Das zweite Argument '''"example.com"''' ist die Hauptdomain, für die Sie das Zertifikat ausstellen möchten | ||
* Sie müssen dort mindestens eine Domain haben | |||
Sie müssen alle Domänen auf das gleiche Webroot-Verzeichnis verweisen und binden: <code>/home/wwwroot/example.com</code> | Sie müssen alle Domänen auf das gleiche Webroot-Verzeichnis verweisen und binden: <code>/home/wwwroot/example.com</code> | ||
Die Zertifikate werden in <code>~/.acme.sh/example.com/</code> abgelegt | Die Zertifikate werden in <code>~/.acme.sh/example.com/</code> abgelegt | ||
Die Zertifikate werden automatisch alle '''60''' Tage erneuert | Die Zertifikate werden automatisch alle '''60''' Tage erneuert | ||
; Beispiele | |||
# https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert | |||
== | === Aus vorhandenem CSR === | ||
Ausstellen eines Zertifikats aus einer vorhandenen [[CSR]] | |||
# https://github.com/acmesh-official/acme.sh/wiki/Issue-a-cert-from-existing-CSR | |||
== Zertifikat installieren == | |||
; Installieren des Zertifikates auf dem Webserver (Apache, Nginx, …) | |||
Nachdem das Zertifikat generiert wurde, möchten Sie es wahrscheinlich auf Ihren Apache/Nginx- oder anderen Servern installieren/kopieren | |||
* Sie '''MÜSSEN''' diesen Befehl verwenden, um die Zertifikate in die Zieldateien zu kopieren, verwenden Sie '''NICHT''' die Zertifikatsdateien im Ordner '''~/.acme.sh/''', sie sind nur für den internen Gebrauch, die Ordnerstruktur kann sich in Zukunft ändern | |||
; Apache | |||
acme.sh --install-cert -d example.com \ | acme.sh --install-cert -d example.com \ | ||
--cert-file | --cert-file /path/to/certfile/in/apache/cert.pem \ | ||
--key-file | --key-file /path/to/keyfile/in/apache/key.pem \ | ||
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \ | --fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \ | ||
--reloadcmd | --reloadcmd "service apache2 force-reload" | ||
; Nginx | |||
acme.sh --install-cert -d example.com \ | acme.sh --install-cert -d example.com \ | ||
--key-file | --key-file /path/to/keyfile/in/nginx/key.pem \ | ||
--fullchain-file /path/to/fullchain/nginx/cert.pem \ | --fullchain-file /path/to/fullchain/nginx/cert.pem \ | ||
--reloadcmd | --reloadcmd "service nginx force-reload" | ||
Nur die Domäne ist erforderlich, alle anderen Parameter sind optional | |||
Die Eigentums- und Berechtigungsinformationen vorhandener Dateien werden beibehalten | |||
* Sie können die Dateien im Voraus erstellen, um die Eigentümerschaft und die Berechtigung zu definieren | |||
Installieren/kopieren Sie das Zertifikat/den Schlüssel in den Apache- oder Nginx-Produktionspfad | |||
''' | Das Zertifikat wird standardmäßig alle '''60''' Tage erneuert (was konfigurierbar ist) | ||
* Sobald das Zertifikat erneuert wurde, wird der Apache/Nginx-Dienst automatisch mit dem folgenden Befehl neu geladen: <code>service apache2 force-reload</code> oder <code>service nginx force-reload</code> | |||
== | '''Seien Sie bitte vorsichtig: Der "reloadcmd" ist sehr wichtig | ||
* Das Zertifikat kann automatisch erneuert werden, aber ohne einen korrekten "reloadcmd" wird das Zertifikat möglicherweise nicht auf Ihren Server (wie Nginx oder Apache) übertragen, und Ihre Website kann dann in 60 Tagen kein erneuertes Zertifikat anzeigen.''' | |||
== Standalone-Server == | |||
; Standalone-Server zum Ausstellen von Zertifikaten verwenden | |||
'''(Sie müssen root/sudoer sein oder die Erlaubnis haben, auf Port 80 (TCP) zu lauschen)''' | '''(Sie müssen root/sudoer sein oder die Erlaubnis haben, auf Port 80 (TCP) zu lauschen)''' | ||
Port <code>80</code> (TCP) '''MUSS''' zum Abhören frei sein, sonst werden Sie aufgefordert, ihn freizugeben und es erneut zu versuchen | Port <code>80</code> (TCP) '''MUSS''' zum Abhören frei sein, sonst werden Sie aufgefordert, ihn freizugeben und es erneut zu versuchen | ||
acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com | acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com | ||
== | ; Weitere Beispiele | ||
# https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert | |||
== Eigenständigen SSL-Server == | |||
; Eigenständigen SSL-Server zum Ausstellen von Zertifikaten verwenden | |||
'''(Sie müssen root/sudoer sein oder die Erlaubnis haben, auf Port 443 (TCP) zu lauschen)''' | '''(Sie müssen root/sudoer sein oder die Erlaubnis haben, auf Port 443 (TCP) zu lauschen)''' | ||
Port <code>443</code> (TCP) '''MUSS''' zum Abhören frei sein, sonst werden Sie aufgefordert, ihn freizugeben und es erneut zu versuchen | Port <code>443</code> (TCP) '''MUSS''' zum Abhören frei sein, sonst werden Sie aufgefordert, ihn freizugeben und es erneut zu versuchen | ||
acme.sh --issue --alpn -d example.com -d www.example.com -d cp.example.com | acme.sh --issue --alpn -d example.com -d www.example.com -d cp.example.com | ||
== | ; Beispiele | ||
# https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert | |||
== Apache-Modus == | |||
; Apache-Modus verwenden | |||
'''(Sie müssen root/sudoer sein, da dies für die Interaktion mit dem Apache-Server erforderlich ist)''' | '''(Sie müssen root/sudoer sein, da dies für die Interaktion mit dem Apache-Server erforderlich ist)''' | ||
Wenn Sie einen Webserver betreiben, wird empfohlen, den <code>Webroot-Modus</code> zu verwenden | Wenn Sie einen Webserver betreiben, wird empfohlen, den <code>Webroot-Modus</code> zu verwenden | ||
Insbesondere, wenn Sie einen Apache-Server betreiben, können Sie stattdessen den Apache-Modus verwenden | Insbesondere, wenn Sie einen Apache-Server betreiben, können Sie stattdessen den Apache-Modus verwenden | ||
* In diesem Modus werden keine Dateien in Ihren Web-Stammordner geschrieben | |||
Setzen Sie einfach die Zeichenkette "apache" als zweites Argument, und es wird automatisch die Verwendung des Apache-Plugins erzwungen | Setzen Sie einfach die Zeichenkette "apache" als zweites Argument, und es wird automatisch die Verwendung des Apache-Plugins erzwungen | ||
acme.sh --issue --apache -d example.com -d www.example.com -d cp.example.com | acme.sh --issue --apache -d example.com -d www.example.com -d cp.example.com | ||
'''Dieser Apache-Modus dient nur dazu, das Zertifikat auszustellen, er wird Ihre Apache-Konfigurationsdateien nicht verändern | '''Dieser Apache-Modus dient nur dazu, das Zertifikat auszustellen, er wird Ihre Apache-Konfigurationsdateien nicht verändern | ||
* Sie müssen Ihre Website-Konfigurationsdateien selbst so konfigurieren, dass das Zertifikat verwendet wird | |||
* Wir wollen Ihren Apache-Server nicht durcheinander bringen, keine Sorge.''' | |||
; Beispiele | |||
# https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert | |||
== | == Nginx-Modus == | ||
; Nginx-Modus verwenden | |||
'''(Sie müssen root/sudoer sein, da dies für die Interaktion mit dem Nginx-Server erforderlich ist)''' | '''(Sie müssen root/sudoer sein, da dies für die Interaktion mit dem Nginx-Server erforderlich ist)''' | ||
Wenn Sie einen Webserver betreiben, wird empfohlen, den <code>Webroot-Modus</code> zu verwenden | Wenn Sie einen Webserver betreiben, wird empfohlen, den <code>Webroot-Modus</code> zu verwenden | ||
Insbesondere, wenn Sie einen nginx-Server betreiben, können Sie stattdessen den nginx-Modus verwenden | Insbesondere, wenn Sie einen nginx-Server betreiben, können Sie stattdessen den nginx-Modus verwenden | ||
* In diesem Modus werden keine Dateien in Ihr Web-Root-Verzeichnis geschrieben | |||
Geben Sie einfach die Zeichenfolge "nginx" als zweites Argument ein | Geben Sie einfach die Zeichenfolge "nginx" als zweites Argument ein | ||
Der nginx-Server wird automatisch konfiguriert, um die Domäne zu verifizieren und dann die nginx-Konfiguration auf die ursprüngliche Version zurückzusetzen | Der nginx-Server wird automatisch konfiguriert, um die Domäne zu verifizieren und dann die nginx-Konfiguration auf die ursprüngliche Version zurückzusetzen | ||
Die Konfiguration wird also nicht geändert | Die Konfiguration wird also nicht geändert | ||
acme.sh --issue --nginx -d example.com -d www.example.com -d cp.example.com | acme.sh --issue --nginx -d example.com -d www.example.com -d cp.example.com | ||
'''Dieser Nginx-Modus dient nur zur Ausstellung des Zertifikats, er ändert nicht Ihre Nginx-Konfigurationsdateien | '''Dieser Nginx-Modus dient nur zur Ausstellung des Zertifikats, er ändert nicht Ihre Nginx-Konfigurationsdateien | ||
* Sie müssen Ihre Website-Konfigurationsdateien selbst für die Verwendung des Zertifikats konfigurieren | |||
* Wir wollen Ihren Nginx-Server nicht durcheinander bringen, keine Sorge.''' | |||
; Beispiele | |||
# https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert | |||
== | == DNS-API-Integration == | ||
Wenn Ihr DNS-Anbieter API-Zugriff unterstützt, können wir diese API verwenden, um die Zertifikate automatisch auszustellen | ; Automatische DNS-API-Integration | ||
Wenn Ihr DNS-Anbieter API-Zugriff unterstützt, können wir diese API verwenden, um die Zertifikate automatisch auszustellen | |||
Sie müssen nichts manuell tun! | Sie müssen nichts manuell tun! | ||
; ''acme.sh'' unterstützt die meisten DNS-Anbieter | |||
# https://github.com/acmesh-official/acme.sh/wiki/dnsapi | |||
== Manueller DNS-Modus == | |||
Verwenden des manuellen DNS-Modus | |||
; Siehe | |||
# https://github.com/acmesh-official/acme.sh/wiki/dns-manual-mode | |||
Wenn Ihr DNS-Anbieter keinen API-Zugang unterstützt, können Sie den txt-Eintrag von Hand hinzufügen | Wenn Ihr DNS-Anbieter keinen API-Zugang unterstützt, können Sie den txt-Eintrag von Hand hinzufügen | ||
acme.sh --issue --dns -d example.com -d www.example.com -d cp.example.com | acme.sh --issue --dns -d example.com -d www.example.com -d cp.example.com | ||
Sie sollten eine Ausgabe wie unten erhalten: | Sie sollten eine Ausgabe wie unten erhalten: | ||
Add the following txt record: | Add the following txt record: | ||
Zeile 110: | Zeile 179: | ||
Txt value:9ihDbjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | Txt value:9ihDbjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | ||
Please add those txt records to the domains | Please add those txt records to the domains | ||
* Waiting for the dns to take effect | |||
Dann wiederholen Sie den Vorgang einfach mit <code>neuen</code> Argumenten: | Dann wiederholen Sie den Vorgang einfach mit <code>neuen</code> Argumenten: | ||
acme.sh --renew -d example.com | acme.sh --renew -d example.com | ||
'''Achten Sie darauf, dass dies ein manueller DNS-Modus ist, der nicht automatisch erneuert werden kann | Okay, es ist geschafft | ||
'''Achten Sie darauf, dass dies ein manueller DNS-Modus ist, der nicht automatisch erneuert werden kann | |||
* Sie müssen einen neuen txt-Eintrag zu Ihrer Domain hinzufügen, wenn Sie Ihr Zertifikat erneuern.''' | |||
'''Bitte verwenden Sie stattdessen den dns api-Modus.''' | '''Bitte verwenden Sie stattdessen den dns api-Modus.''' | ||
== | == ECC-Zertifikate == | ||
Setzen Sie einfach den Parameter <code>keylength</code> mit einem Präfix <code>ec-</code> | ; ECC-Zertifikate ausstellen | ||
Setzen Sie einfach den Parameter <code>keylength</code> mit einem Präfix <code>ec-</code> | |||
; ECC-Zertifikat für eine Domäne | |||
acme.sh --issue -w /home/wwwroot/example.com -d example.com --keylength ec-256 | acme.sh --issue -w /home/wwwroot/example.com -d example.com --keylength ec-256 | ||
; SAN-Multi-Domain-ECC-Zertifikat | |||
acme.sh --issue -w /home/wwwroot/example.com -d example.com -d www.example.com --keylength ec-256 | acme.sh --issue -w /home/wwwroot/example.com -d example.com -d www.example.com --keylength ec-256 | ||
Bitte beachten Sie den obigen Parameter <code>keylength</code> | Bitte beachten Sie den obigen Parameter <code>keylength</code> | ||
; Gültige Werte sind: | |||
# '''ec-256 (prime256v1, "ECDSA P-256", dies ist der Standardschlüsseltyp)''' | # '''ec-256 (prime256v1, "ECDSA P-256", dies ist der Standardschlüsseltyp)''' | ||
# '''ec-384 (secp384r1, "ECDSA P-384")''' | # '''ec-384 (secp384r1, "ECDSA P-384")''' | ||
Zeile 140: | Zeile 211: | ||
# '''4096 (RSA4096)''' | # '''4096 (RSA4096)''' | ||
== | == Wildcard-Zertifikate == | ||
; Wildcard-Zertifikate ausstellen | |||
acme.sh | Geben Sie als Parameter <code>-d</code> einen Platzhalter für eine Domäne an | ||
acme.sh --issue -d example.com -d '*.example.com' --dns dns_cf | |||
== | == Zertifikate erneuern == | ||
* Zertifikate müssen nicht manuell erneuert werden | |||
* Alle Zertifikate werden automatisch alle '''60''' Tage erneuert | |||
; Erneuerung erzwingen | |||
acme.sh --renew -d example.com --force | acme.sh --renew -d example.com --force | ||
oder, für ECC cert | |||
oder, für ECC cert | |||
acme.sh --renew -d example.com --force --ecc | acme.sh --renew -d example.com --force --ecc | ||
; Zertifikatserneuerung anhalten | |||
Um die Erneuerung eines Zertifikats zu stoppen, können Sie folgendes ausführen, um das Zertifikat aus der Erneuerungsliste zu entfernen: | Um die Erneuerung eines Zertifikats zu stoppen, können Sie folgendes ausführen, um das Zertifikat aus der Erneuerungsliste zu entfernen: | ||
acme.sh --remove -d example.com [--ecc] | acme.sh --remove -d example.com [--ecc] | ||
Sie können das entsprechende Verzeichnis (z.B. <code>~/.acme.sh/example.com</code>) selbst entfernen. | Die Zertifikats-/Schlüsseldatei wird nicht von der Festplatte entfernt | ||
* Sie können das entsprechende Verzeichnis (z.B. <code>~/.acme.sh/example.com</code>) selbst entfernen | |||
== Update ''acme.sh'' == | |||
''acme.sh'' wird ständig weiterentwickelt, es wird daher dringend empfohlen, den neuesten Code zu verwenden! | |||
; Update | |||
# '''acme.sh --upgrade''' | |||
; Automatische Update aktivieren | |||
# '''acme.sh --upgrade --auto-upgrade''' | |||
; Deaktivieren Sie die automatische Aktualisierung | |||
acme.sh | # '''acme.sh --upgrade --auto-upgrade 0''' | ||
== Benachrichtigungen == | |||
; Benachrichtigungen in Cronjob senden | |||
# https://github.com/acmesh-official/acme.sh/wiki/notify | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
==== Links ==== | |||
===== Weblinks ===== | |||
# https://github.com/acmesh-official/acme.sh | |||
[[Kategorie:Apache/HTTP/Kryptografie]] | |||
</noinclude> | |||
< |
Aktuelle Version vom 2. November 2024, 16:05 Uhr
Acme.sh/Anwendung - Beschreibung
Beschreibung
Zertifikat ausstellen
Einzelne Domäne
- Alternativen
acme.sh --issue -d example.com -w /home/wwwroot/example.com acme.sh --issue -d example.com -w /home/username/public_html acme.sh --issue -d example.com -w /var/www/html
Mehrere Domänen in einem Zertifikat
acme.sh --issue -d example.com -d www.example.com -d cp.example.com -w /home/wwwroot/example.com
Der Parameter /home/wwwroot/example.com
oder /home/username/public_html
oder /var/www/html
ist der Web-Stammordner, in dem Sie die Dateien Ihrer Website hosten
- Sie MÜSSEN
Schreibzugriff
auf diesen Ordner haben
Das zweite Argument "example.com" ist die Hauptdomain, für die Sie das Zertifikat ausstellen möchten
- Sie müssen dort mindestens eine Domain haben
Sie müssen alle Domänen auf das gleiche Webroot-Verzeichnis verweisen und binden: /home/wwwroot/example.com
Die Zertifikate werden in ~/.acme.sh/example.com/
abgelegt
Die Zertifikate werden automatisch alle 60 Tage erneuert
- Beispiele
Aus vorhandenem CSR
Ausstellen eines Zertifikats aus einer vorhandenen CSR
Zertifikat installieren
- Installieren des Zertifikates auf dem Webserver (Apache, Nginx, …)
Nachdem das Zertifikat generiert wurde, möchten Sie es wahrscheinlich auf Ihren Apache/Nginx- oder anderen Servern installieren/kopieren
- Sie MÜSSEN diesen Befehl verwenden, um die Zertifikate in die Zieldateien zu kopieren, verwenden Sie NICHT die Zertifikatsdateien im Ordner ~/.acme.sh/, sie sind nur für den internen Gebrauch, die Ordnerstruktur kann sich in Zukunft ändern
- Apache
acme.sh --install-cert -d example.com \ --cert-file /path/to/certfile/in/apache/cert.pem \ --key-file /path/to/keyfile/in/apache/key.pem \ --fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \ --reloadcmd "service apache2 force-reload"
- Nginx
acme.sh --install-cert -d example.com \ --key-file /path/to/keyfile/in/nginx/key.pem \ --fullchain-file /path/to/fullchain/nginx/cert.pem \ --reloadcmd "service nginx force-reload"
Nur die Domäne ist erforderlich, alle anderen Parameter sind optional
Die Eigentums- und Berechtigungsinformationen vorhandener Dateien werden beibehalten
- Sie können die Dateien im Voraus erstellen, um die Eigentümerschaft und die Berechtigung zu definieren
Installieren/kopieren Sie das Zertifikat/den Schlüssel in den Apache- oder Nginx-Produktionspfad
Das Zertifikat wird standardmäßig alle 60 Tage erneuert (was konfigurierbar ist)
- Sobald das Zertifikat erneuert wurde, wird der Apache/Nginx-Dienst automatisch mit dem folgenden Befehl neu geladen:
service apache2 force-reload
oderservice nginx force-reload
Seien Sie bitte vorsichtig: Der "reloadcmd" ist sehr wichtig
- Das Zertifikat kann automatisch erneuert werden, aber ohne einen korrekten "reloadcmd" wird das Zertifikat möglicherweise nicht auf Ihren Server (wie Nginx oder Apache) übertragen, und Ihre Website kann dann in 60 Tagen kein erneuertes Zertifikat anzeigen.
Standalone-Server
- Standalone-Server zum Ausstellen von Zertifikaten verwenden
(Sie müssen root/sudoer sein oder die Erlaubnis haben, auf Port 80 (TCP) zu lauschen)
Port 80
(TCP) MUSS zum Abhören frei sein, sonst werden Sie aufgefordert, ihn freizugeben und es erneut zu versuchen
acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com
- Weitere Beispiele
Eigenständigen SSL-Server
- Eigenständigen SSL-Server zum Ausstellen von Zertifikaten verwenden
(Sie müssen root/sudoer sein oder die Erlaubnis haben, auf Port 443 (TCP) zu lauschen)
Port 443
(TCP) MUSS zum Abhören frei sein, sonst werden Sie aufgefordert, ihn freizugeben und es erneut zu versuchen
acme.sh --issue --alpn -d example.com -d www.example.com -d cp.example.com
- Beispiele
Apache-Modus
- Apache-Modus verwenden
(Sie müssen root/sudoer sein, da dies für die Interaktion mit dem Apache-Server erforderlich ist)
Wenn Sie einen Webserver betreiben, wird empfohlen, den Webroot-Modus
zu verwenden
Insbesondere, wenn Sie einen Apache-Server betreiben, können Sie stattdessen den Apache-Modus verwenden
- In diesem Modus werden keine Dateien in Ihren Web-Stammordner geschrieben
Setzen Sie einfach die Zeichenkette "apache" als zweites Argument, und es wird automatisch die Verwendung des Apache-Plugins erzwungen
acme.sh --issue --apache -d example.com -d www.example.com -d cp.example.com
Dieser Apache-Modus dient nur dazu, das Zertifikat auszustellen, er wird Ihre Apache-Konfigurationsdateien nicht verändern
- Sie müssen Ihre Website-Konfigurationsdateien selbst so konfigurieren, dass das Zertifikat verwendet wird
- Wir wollen Ihren Apache-Server nicht durcheinander bringen, keine Sorge.
- Beispiele
Nginx-Modus
- Nginx-Modus verwenden
(Sie müssen root/sudoer sein, da dies für die Interaktion mit dem Nginx-Server erforderlich ist)
Wenn Sie einen Webserver betreiben, wird empfohlen, den Webroot-Modus
zu verwenden
Insbesondere, wenn Sie einen nginx-Server betreiben, können Sie stattdessen den nginx-Modus verwenden
- In diesem Modus werden keine Dateien in Ihr Web-Root-Verzeichnis geschrieben
Geben Sie einfach die Zeichenfolge "nginx" als zweites Argument ein
Der nginx-Server wird automatisch konfiguriert, um die Domäne zu verifizieren und dann die nginx-Konfiguration auf die ursprüngliche Version zurückzusetzen
Die Konfiguration wird also nicht geändert
acme.sh --issue --nginx -d example.com -d www.example.com -d cp.example.com
Dieser Nginx-Modus dient nur zur Ausstellung des Zertifikats, er ändert nicht Ihre Nginx-Konfigurationsdateien
- Sie müssen Ihre Website-Konfigurationsdateien selbst für die Verwendung des Zertifikats konfigurieren
- Wir wollen Ihren Nginx-Server nicht durcheinander bringen, keine Sorge.
- Beispiele
DNS-API-Integration
- Automatische DNS-API-Integration
Wenn Ihr DNS-Anbieter API-Zugriff unterstützt, können wir diese API verwenden, um die Zertifikate automatisch auszustellen
Sie müssen nichts manuell tun!
- acme.sh unterstützt die meisten DNS-Anbieter
Manueller DNS-Modus
Verwenden des manuellen DNS-Modus
- Siehe
Wenn Ihr DNS-Anbieter keinen API-Zugang unterstützt, können Sie den txt-Eintrag von Hand hinzufügen
acme.sh --issue --dns -d example.com -d www.example.com -d cp.example.com
Sie sollten eine Ausgabe wie unten erhalten:
Add the following txt record: Domain:_acme-challenge.example.com Txt value:9ihDbjYfTExAYeDs4DBUeuTo18KBzwvTEjUnSwd32-c
Add the following txt record: Domain:_acme-challenge.www.example.com Txt value:9ihDbjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Please add those txt records to the domains
- Waiting for the dns to take effect
Dann wiederholen Sie den Vorgang einfach mit neuen
Argumenten:
acme.sh --renew -d example.com
Okay, es ist geschafft
Achten Sie darauf, dass dies ein manueller DNS-Modus ist, der nicht automatisch erneuert werden kann
- Sie müssen einen neuen txt-Eintrag zu Ihrer Domain hinzufügen, wenn Sie Ihr Zertifikat erneuern.
Bitte verwenden Sie stattdessen den dns api-Modus.
ECC-Zertifikate
- ECC-Zertifikate ausstellen
Setzen Sie einfach den Parameter keylength
mit einem Präfix ec-
- ECC-Zertifikat für eine Domäne
acme.sh --issue -w /home/wwwroot/example.com -d example.com --keylength ec-256
- SAN-Multi-Domain-ECC-Zertifikat
acme.sh --issue -w /home/wwwroot/example.com -d example.com -d www.example.com --keylength ec-256
Bitte beachten Sie den obigen Parameter keylength
- Gültige Werte sind
- ec-256 (prime256v1, "ECDSA P-256", dies ist der Standardschlüsseltyp)
- ec-384 (secp384r1, "ECDSA P-384")
- ec-521 (secp521r1, "ECDSA P-521", das von Let's Encrypt noch nicht unterstützt wird).
- 2048 (RSA2048)
- 3072 (RSA3072)
- 4096 (RSA4096)
Wildcard-Zertifikate
- Wildcard-Zertifikate ausstellen
Geben Sie als Parameter -d
einen Platzhalter für eine Domäne an
acme.sh --issue -d example.com -d '*.example.com' --dns dns_cf
Zertifikate erneuern
- Zertifikate müssen nicht manuell erneuert werden
- Alle Zertifikate werden automatisch alle 60 Tage erneuert
- Erneuerung erzwingen
acme.sh --renew -d example.com --force
oder, für ECC cert
acme.sh --renew -d example.com --force --ecc
- Zertifikatserneuerung anhalten
Um die Erneuerung eines Zertifikats zu stoppen, können Sie folgendes ausführen, um das Zertifikat aus der Erneuerungsliste zu entfernen:
acme.sh --remove -d example.com [--ecc]
Die Zertifikats-/Schlüsseldatei wird nicht von der Festplatte entfernt
- Sie können das entsprechende Verzeichnis (z.B.
~/.acme.sh/example.com
) selbst entfernen
Update acme.sh
acme.sh wird ständig weiterentwickelt, es wird daher dringend empfohlen, den neuesten Code zu verwenden!
- Update
# acme.sh --upgrade
- Automatische Update aktivieren
# acme.sh --upgrade --auto-upgrade
- Deaktivieren Sie die automatische Aktualisierung
# acme.sh --upgrade --auto-upgrade 0
Benachrichtigungen
- Benachrichtigungen in Cronjob senden
Anhang
Siehe auch
Links
Weblinks