Diese Anleitung führt Sie durch die Einrichtung der automatischen Installation und Erneuerung von Zertifikaten mit SSL.com für Apache und Nginx mit dem ACME-Protokoll und dem Certbot-Client.
sudo
Berechtigungen auf Ihrem Webserver, um diese Anweisungen zu befolgen.Sie können viele andere ACME-Clients verwenden, einschließlich Kubernetes Cert-Manager, mit dem ACME-Dienst von SSL.com.
acme4j Der Client kann jetzt die ACME-Dienste von SSL.com für dieses Repository verwenden: https://github.com/SSLcom/acme4j
Anweisungen für andere ACME-Clients, die nicht von Certbot stammen, finden Sie in der Dokumentation Ihres Softwareanbieters.
Installieren Sie Certbot und rufen Sie ACME-Anmeldeinformationen ab
- SSH in Ihren Webserver.
- Stellen Sie sicher, dass eine aktuelle Version von Certbotwerden zusammen mit den Apache- und Nginx-Plugins auf Ihrem Webserver installiert:
- Wenn Sie snapd installiertkönnen Sie diesen Befehl für die Installation verwenden:
sudo snap install - klassischer certbot
- If
/snap/bin/
ist nicht in deinemPATH
Sie müssen es auch hinzufügen oder einen Befehl wie den folgenden ausführen:sudo ln -s / snap / bin / certbot / usr / bin / certbot
- Wenn Sie snapd installiertkönnen Sie diesen Befehl für die Installation verwenden:
- Rufen Sie Ihre ACME-Anmeldeinformationen von Ihrem SSL.com-Konto ab:
- Melden Sie sich bei Ihrem SSL.com-Konto an. Wenn Sie bereits angemeldet sind, gehen Sie zu Dashboard Tab.
- Klicken Sie API-Anmeldeinformationenbefindet sich unter Entwickler und Integration.
- Du wirst deine brauchen Konto / ACME-Schlüssel und HMAC-Schlüssel Zertifikate anfordern. Klicken Sie auf das Zwischenablagesymbol () neben jeder Taste, um den Wert in die Zwischenablage zu kopieren.
- Melden Sie sich bei Ihrem SSL.com-Konto an. Wenn Sie bereits angemeldet sind, gehen Sie zu Dashboard Tab.
Apache Installation und Automatisierung
Verwenden Sie einen solchen Befehl, um auf Apache zu installieren. Ersetzen Sie die Werte in ALL CAPS durch Ihre tatsächlichen Werte:
sudo certbot --apache --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid KONTOSCHLÜSSEL --eab-hmac-schlüssel HMAC-SCHLÜSSEL --server https://acme.ssl.com/sslcom-dv-ecc -d DOMAIN.NAME
Befehl aufteilen:
sudo certbot
Läuft diecertbot
Befehl mit Superuser-Berechtigungen.--apache
Gibt an, dass Zertifikate zur Verwendung mit Apache installiert werden sollen.--email EMAIL-ADDRESS
gibt eine Registrierungs-E-Mail-Adresse an. Sie können mehrere durch Kommas getrennte Adressen angeben.--agree-tos
(optional) stimmt der ACME-Abonnentenvereinbarung zu. Sie können dies weglassen, wenn Sie interaktiv zustimmen möchten.--no-eff-email
(optional) gibt an, dass Sie Ihre E-Mail-Adresse nicht mit dem EFF teilen möchten. Wenn Sie dies weglassen, werden Sie aufgefordert, Ihre E-Mail-Adresse mitzuteilen.--config-dir /etc/ssl-com
(optional) legt das Konfigurationsverzeichnis fest.--logs-dir /var/log/ssl-com
(optional) legt das Verzeichnis für Protokolle fest.--eab-kid ACCOUNT-KEY
Gibt Ihren Kontoschlüssel an.--eab-hmac-key HMAC-KEY
Gibt Ihren HMAC-Schlüssel an.--server https://acme.ssl.com/sslcom-dv-ecc
Gibt den ACME-Server von SSL.com an.-d DOMAIN.NAME
Gibt den Domänennamen an, den das Zertifikat abdeckt.
- Ändern Sie die
--server
Wert im Befehl tohttps://acme.ssl.com/sslcom-dv-rsa
.
-d DOMAIN.NAME
Option mehrmals in Ihrem Befehl, um Ihrem Zertifikat Domänennamen hinzuzufügen. Bitte beachten Sie unsere Informationen zu Zertifikatstypen und Abrechnung um zu sehen, wie verschiedene Kombinationen von Domainnamen zugeordnet werden SSL.com-Zertifikatstypen und deren entsprechende Preisgestaltung.certbot
Befehl werden ACME-Kontoinformationen auf Ihrem Computer im Konfigurationsverzeichnis (/etc/ssl-com
im oben gezeigten Befehl. Bei zukünftigen certbot-Ausführungen können Sie die --eab-hmac-key
und --eab-kid
Optionen, da certbot sie zugunsten der lokal gespeicherten Kontoinformationen ignoriert.
Wenn Sie Ihre ACME-Zertifikatsbestellungen für den Computer mit einem anderen SSL.com-Konto verknüpfen müssen, sollten Sie diese Kontoinformationen mit dem Befehl . von Ihrem Computer entfernen sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(oder, wenn Sie das optionale weggelassen haben --config-dir
Option, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
Nach dem Ausführen des Befehls sollte die folgende Ausgabe angezeigt werden:
Speichern des Debug-Protokolls in /var/log/ssl-com/letsencrypt.log Ausgewählte Plugins: Authenticator-Apache, Installer-Apache Abrufen eines neuen Zertifikats Ausführen der folgenden Herausforderungen: http-01-Herausforderung für DOMAIN.NAME Warten auf Überprüfung ... Bereinigen von Herausforderungen Erstellt einen SSL-vhost unter /etc/apache2/sites-available/DOMAIN-le-ssl.conf Bereitstellen des Zertifikats für VirtualHost /etc/apache2/sites-available/DOMAIN-le-ssl.conf Aktivieren der verfügbaren Site: / etc / apache2 / sites-available / DOMAIN-le-ssl.conf Umleiten von vhost in /etc/apache2/sites-enabled/DOMAIN.NAME.conf zu ssl vhost in /etc/apache2/sites-available/DOMAIN-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Herzliche Glückwünsche! Sie haben https://DOMAIN.NAME erfolgreich aktiviert - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Certbot erstellt außerdem eine Crontab-Datei wie diese zur automatisierten nicht interaktiven Erneuerung eines von Certbot installierten Zertifikats, das innerhalb von 30 Tagen abläuft:
$ cat /etc/cron.d/certbot # /etc/cron.d/certbot: crontab-Einträge für das certbot-Paket # # Upstream empfiehlt, zweimal täglich eine Verlängerung zu versuchen # # Möglicherweise bietet sich die Gelegenheit, Zertifikate # zu validieren t wurde widerrufen usw. Die Verlängerung erfolgt nur, wenn die Ablaufnummer innerhalb von 30 Tagen liegt. # # Wichtige Notiz! Dieser Cronjob wird NICHT ausgeführt, wenn Sie systemd als Init-System ausführen. Wenn Sie systemd ausführen, # hat die Funktion cronjob.timer Vorrang vor diesem cronjob. Weitere Informationen finden Sie in der Manpage systemd.timer oder verwenden Sie systemctl show # certbot.timer. SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin 0 * / 12 * * * root test -x / usr / bin / certbot -a \! -d / run / systemd / system && perl -e 'sleep int (rand (43200))' && certbot -q erneuern
Nginx Installation und Automatisierung
Für Nginx einfach ersetzen --nginx
für den --apache
im oben gezeigten Befehl:
sudo certbot --nginx --email EMAIL-ADDRESS --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid KONTOSCHLÜSSEL --eab-hmac-schlüssel HMAC-SCHLÜSSEL --server https://acme.ssl.com/sslcom-dv-ecc -d DOMAIN.NAME
- Ändern Sie die
--server
Wert im Befehl tohttps://acme.ssl.com/sslcom-dv-rsa
.
Manuelle Erneuerung erzwingen
Wenn Sie ein Zertifikat vor dem bevorstehenden Ablauf manuell erneuern möchten, verwenden Sie diesen Befehl:
certbot erneuern --force-erneuern --cert-name DOMAIN.NAME
SSL.com bietet eine Vielzahl von SSL /TLS Serverzertifikate für HTTPS-Websites.