Installieren Sie Wildcard-Zertifikate von Lets Encrypt in Nginx unter Ubuntu 19.04

Im März 2018 hat Let's Encrypt die Unterstützung für Platzhalterzertifikate hinzugefügt. Mit Platzhalterzertifikaten können Sie alle Subdomains der ersten Ebene einer Domain mit einem einzigen Zertifikat sichern. Platzhalterzertifikate sind nur über ACMEv2 erhältlich, eine aktualisierte Version des ACME-Protokolls. Um ACMEv2 für Platzhalter- oder Nicht-Platzhalterzertifikate verwenden zu können, benötigen Sie einen Client, der aktualisiert wurde, um ACMEv2 zu unterstützen. Ein solcher Client ist acme.sh, ein ACME / ACMEv2-Protokollclient, der ausschließlich in Shell-Sprache (Unix-Shell) ohne Abhängigkeiten geschrieben ist. Darüber hinaus müssen Platzhalterdomänen mithilfe des DNS-01-Challenge-Typs validiert werden. Dies bedeutet, dass Sie DNS-TXT-Einträge ändern müssen, um die Kontrolle über eine Domäne zu beweisen und ein Platzhalterzertifikat zu erhalten.

In diesem Handbuch wird erläutert, wie Sie kostenlose Wildcard-Zertifikate von Let's Encrypt unter Ubuntu 19.04 mithilfe des acme.shClient- Lexikon- Tools zur automatischen Bearbeitung von DNS-Einträgen erhalten und bereitstellen, indem Sie die Vultr-API verwenden und Zertifikate auf dem Nginx-Webserver bereitstellen.

Bedarf

  • Frisch bereitgestellter Ubuntu 19.04 Vultr Cloud Server.
  • Sie haben einen registrierten Domainnamen. In diesem Handbuch wird example.comals Beispieldomäne verwendet.
  • Stellen Sie sicher, dass Sie A / AAAA- und CNAME-DNS-Einträge für Ihren vollqualifizierten Domänennamen (FQDN) festgelegt haben. Sie können das Tutorial Einführung in Vultr DNS konsultieren , wenn Sie sich mit DNS-Konzepten vertraut machen müssen.
  • Vultr-API-Zugriff in der Systemsteuerung Ihres Vultr-Kontos aktiviert.

Bevor Sie beginnen

Überprüfen Sie die Ubuntu-Version.

lsb_release -ds
# Ubuntu 19.04

Erstellen Sie ein neues Benutzerkonto mit sudoZugriff und Ihrem bevorzugten Benutzernamen und wechseln Sie zu diesem. Wir benutzen johndoe.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

HINWEIS : Ersetzen Sie johndoedurch Ihren Benutzernamen.

Richten Sie die Zeitzone ein.

sudo dpkg-reconfigure tzdata

Stellen Sie sicher, dass Ihr Ubuntu-System auf dem neuesten Stand ist.

sudo apt update && sudo apt upgrade -y

Installieren Sie die erforderlichen Pakete.

sudo apt install -y git wget curl socat

Installieren Sie Nginx

Installieren Sie den Nginx-Webserver.

sudo apt install -y nginx

Überprüfe die Version.

sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)

Installieren Sie Python und Lexicon

Als ersten Schritt beim Abrufen von Platzhalterzertifikaten von Let's Encrypt mithilfe der API acme.sh und Vultr müssen Sie Python und Lexicon installieren . Lexicon ist ein Python-Paket, mit dem DNS-Einträge auf mehreren DNS-Anbietern standardisiert bearbeitet werden können.

Installieren Sie Python, falls es noch nicht auf Ihrem System installiert ist.

sudo apt install -y python3

Bestätigen Sie die Installation, indem Sie die Version überprüfen.

python3 --version
# Python 3.7.3

Installieren Sie das Lexikon-Tool. Ein Lexikon ist ein Python-Tool, mit dem Sie DNS-Einträge bei verschiedenen DNS-Anbietern auf standardisierte Weise bearbeiten können.

sudo apt install -y lexicon

Überprüfen Sie die Lexikonversion.

lexicon --version
# lexicon 3.0.8

acme.shClient installieren

Acme.shist ein ACME-Protokoll-Client, der ausschließlich in der Shell-Sprache (Unix-Shell) geschrieben ist und den Prozess des Abrufs eines signierten Zertifikats über Let's Encrypt automatisiert. Es unterstützt ACME v1 und ACME v2 und vor allem ACME v2-Platzhalterzertifikate. In diesem Abschnitt installieren wir ein Acme.sh-Skript.

HINWEIS: Es wird empfohlen rootBenutzer zu installieren acme.sh, obwohl es nicht erforderlich ist root/ sudoZugang.

Wechseln Sie rootvom normalen Benutzer zum Benutzer, wenn Sie ihn erstellt haben.

sudo su - root

Herunterladen und installieren acme.sh.

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "your_email@example.com"
source ~/.bashrc
cd

Überprüfe die Version.

acme.sh --version
# v2.8.2

Erhalten Sie Platzhalterzertifikate von Let's Encrypt

Um ein Platzhalterzertifikat zu erhalten, können wir nur die DNS-Validierungsmethode verwenden. Wir verwenden die Lexikon- und Vultr-DNS-API, um TXT-DNS-Einträge zu bearbeiten.

Erhalten Sie RSA- und ECC-Platzhalterzertifikate für Ihre Domain.

# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="your_vultr_email@example.com"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"

# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256

HINWEIS : Vergessen Sie nicht, durch example.comIhren Domain-Namen zu ersetzen und die Platzhalterwerte der Vultr-API durch Ihre eigenen zu ersetzen.

Nachdem Sie die vorhergehenden Befehle ausgeführt haben, befinden sich Ihre Zertifikate und Schlüssel in:

  • Für RSA: ~/.acme.sh/example.comVerzeichnis.
  • Für ECC / ECDSA: ~/.acme.sh/example.com_eccVerzeichnis.

HINWEIS : Sie sollten die Zertifikatdateien im ~/.acme.sh/Ordner nicht verwenden , sie sind nur für den internen Gebrauch bestimmt. Die Verzeichnisstruktur kann sich in Zukunft ändern.

Um Ihre Zertifikate aufzulisten, können Sie Folgendes ausführen:

acme.sh --list

Erstellen Sie einen Ordner, um Ihre Zertifikate in der Produktion zu speichern. Wir benutzen /etc/letsencryptVerzeichnis.

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installieren / Kopieren von Zertifikaten für die Produktion auf Ihrem Server.

# RSA
acme.sh --install-cert -d example.com \
        --cert-file /etc/letsencrypt/example.com/cert.pem \
        --key-file /etc/letsencrypt/example.com/private.key \
        --fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
        --cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
        --key-file /etc/letsencrypt/example.com_ecc/private.key \
        --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
        --reloadcmd "sudo systemctl reload nginx.service"

Nachdem wir erfolgreich Platzhalterzertifikate von Let's Encrypt erhalten haben, müssen wir den Nginx-Webserver konfigurieren. Alle Zertifikate werden automatisch alle 60 Tage erneuert.

Nachdem Sie Zertifikate erhalten und an Ihrem bevorzugten Speicherort installiert haben, können Sie sich vom rootBenutzer bei einem normalen sudoBenutzer abmelden und Ihren Server sudobei Bedarf weiterhin verwalten .

exit

Konfigurieren Sie den Nginx-Webserver

Führen Sie sudo vim /etc/nginx/sites-available/example.com.confdie Datei aus und füllen Sie sie mit dem folgenden Inhalt. Ersetzen Sie alle Vorkommen von example.comdurch Ihren eigenen Domainnamen.

server {

  listen 443 ssl http2;
  listen [::]:443 ssl http2;

  server_name example.com *.example.com;
  root /var/www/example.com;

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com/private.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;

}

Aktivieren Sie die neue example.com.confKonfiguration, indem Sie die Datei mit dem sites-enabledVerzeichnis verknüpfen .

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Testen Sie die Nginx-Konfiguration.

sudo nginx -t

Laden Sie Nginx neu.

sudo systemctl reload nginx.service

Das ist es. Wir haben Wildcard-Zertifikate mithilfe der acme.sh-, Lexicon- und Vultr-API für Nginx bereitgestellt. Platzhalterzertifikate können nützlich sein, wenn Sie mehrere dynamisch generierte Subdomains der ersten Ebene sichern möchten.

Einen Kommentar hinterlassen

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.