So installieren Sie ein kostenloses SSL-Zertifikat für Nginx unter Debian 10
Bei der Einrichtung einer Website ist die Sicherheit Ihrer Website einer der wichtigsten Aspekte, die Sie berücksichtigen sollten. Ein SSL-Zertifikat ist ein digitales Zertifikat, das Daten verschlüsselt, die vom Browser eines Benutzers an einen Webserver gesendet werden. Auf diese Weise sind die gesendeten Daten vertraulich und sicher vor Hackern, die Paket-Sniffer wie Wireshark verwenden, um Ihre Kommunikation abzufangen und abzuhören.
Bei einer verschlüsselten Website wird in der URL-Leiste ein Vorhängeschlosssymbol angezeigt, gefolgt vom Akronym https, wie im folgenden Screenshot dargestellt.
Bei einer unverschlüsselten Website wird in der URL-Leiste normalerweise die Meldung „Nicht sicher“ angezeigt.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:
- Eine laufende Instanz von Debian 10 Minimal Server.
- Eine laufende Instanz von Nginx Web Server mit Domain Setup unter Debian 10.
- Ein registrierter Fully Qualified Domain Name (FQDN), wobei der
A
-Eintrag auf die IP-Adresse von Debian 10 verweist auf Ihrem Domain-Provider.
Für dieses Tutorial haben wir linux-console.net
auf die IP-Adresse 192.168.0.104 verwiesen.
In diesem Artikel untersuchen wir, wie Sie Let's Encrypt SSL unter Debian 10 installieren können, um ein Kostenloses SSL-Zertifikat für Nginx zu erhalten. gehostete Website.
Was ist Let's Encrypt SSL?
Let's Encrypt SSL ist ein kostenloses Zertifikat von EFF (Electronic Frontier Foundation), das 3 Monate gültig ist und sich nach Ablauf automatisch erneuert. Es ist eine einfache und kostengünstige Möglichkeit, Ihre Website zu verschlüsseln, wenn Ihr Geldbeutel knapp ist.
Lassen Sie uns ohne große Umschweife loslegen und Let's Encrypt auf dem Nginx-Webserver installieren:
Schritt 1: Installieren Sie Certbot in Debian 10
Zu Beginn müssen wir Certbot installieren – eine Software, die das digitale Let’s-Encrypt-Zertifikat abruft und es später auf einem Webserver bereitstellt. Um dies zu erreichen, müssen wir das Paket python3-certbot-nginx installieren. Aber bevor wir das tun, aktualisieren wir zunächst die Systempakete.
sudo apt update
Der nächste Schritt besteht darin, die für das Paket python3-certbot-nginx erforderlichen Abhängigkeiten zu installieren.
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
Jetzt installieren wir das Paket python3-certbot-nginx.
sudo apt install python3-certbot-nginx
Schritt 2. Überprüfen der Nginx-Serverblockkonfiguration
Damit certbot automatisch das Let’s encrypt SSL-Zertifikat auf dem Nginx-Webserver bereitstellen kann, muss ein Serverblock konfiguriert werden. Wir haben die Konfiguration von Nginx-Serverblöcken im letzten Abschnitt des vorherigen Artikels behandelt.
Wenn Sie genau gefolgt sind, sollten Sie einen Serverblock unter /etc/nginx/sites-available/some_domain haben. In unserem Fall wird es der Nginx-Serverblock sein
/etc/nginx/sites-available/linux-console.net
Stellen Sie außerdem sicher, dass die Anweisung server_name Ihrem Domänennamen entspricht.
server_name linux-console.net linux-console.net;
Um zu bestätigen, dass alle Nginx-Konfigurationen in Ordnung sind, führen Sie Folgendes aus:
sudo nginx -t
Die obige Ausgabe zeigt, dass alles in Ordnung ist.
Schritt 3: Konfigurieren Sie die Firewall zum Öffnen des HTTPS-Ports
Falls Sie UFW konfiguriert und aktiviert haben, wie es immer empfohlen wird, müssen wir das HTTPS-Protokoll über die Firewall hinweg zulassen, damit der Webserver für alle zugänglich ist.
sudo ufw allow 'Nginx Full'
Laden Sie anschließend die Firewall neu, um die Änderungen zu übernehmen.
sudo ufw reload
Um zu überprüfen, ob wir das Protokoll durch die Firewall zugelassen haben.
sudo ufw status
Schritt 4: Bereitstellen des Let’s Encrypt SSL-Zertifikats für die Domäne
Nachdem alle Einstellungen und Konfigurationen überprüft wurden, ist es an der Zeit, das Let's Encrypt SSL-Zertifikat auf der Domain-Site abzurufen und bereitzustellen.
sudo certbot --nginx -d domain-name -d www.domain-name.com
In unserem Fall werden wir es haben
sudo certbot --nginx -d linux-console.net -d linux-console.net
Im ersten Schritt werden Sie aufgefordert, Ihre E-Mail-Adresse einzugeben. Geben Sie Ihre Adresse ein und drücken Sie die Eingabetaste.
Als nächstes werden Sie aufgefordert, den Nutzungsbedingungen zuzustimmen. Geben Sie A ein, um fortzufahren.
Certbot wird Sie weiterhin um Ihre Einwilligung bitten, Ihre E-Mail-Adresse zu verwenden, um Ihnen Benachrichtigungen über die neuesten Entwicklungen in EFF zu senden. Hier können Sie wählen, ob Sie sich anmelden oder abmelden möchten. Um sich anzumelden, geben Sie Y (Ja) ein und drücken Sie die Eingabetaste. Um die Teilnahme abzulehnen, klicken Sie auf N (Nein).
Certbot kontaktiert dann Let’s Encrypt, lädt das SSL-Zertifikat herunter und stellt es auf dem Nginx-Serverblock bereit, den Sie bereits erstellt haben.
Geben Sie im nächsten Abschnitt 2
ein, um den üblichen HTTP-Verkehr auf HTTPS umzuleiten.
Das Zertifikat wird auf Ihrem Nginx-Server bereitgestellt und Sie erhalten eine Glückwunschbenachrichtigung, um zu bestätigen, dass Ihr Webserver jetzt mit Let’s Encrypt SSL verschlüsselt ist.
Schritt 5: Überprüfen Sie HTTPS auf der Nginx-Website
Um die Änderungen über einen Webbrowser zu überprüfen, aktualisieren Sie Ihren Browser-Tab und achten Sie auf das Vorhängeschloss-Symbol.
Klicken Sie auf das Vorhängeschloss-Symbol und wählen Sie die Option „Zertifikat“, um die Details des SSL-Zertifikats anzuzeigen.
Alle Zertifikatsdetails werden angezeigt.
Sie können den Status Ihres Webservers weiter überprüfen, indem Sie die URL Ihrer Website unter https://www.ssllabs.com/ssltest/ testen. Wenn der Webserver mit einem SSL-Zertifikat verschlüsselt ist, erhalten Sie wie gezeigt eine A-Bewertung.
Abschluss
Wir sind am Ende dieses Tutorials angelangt. In der Anleitung haben Sie erfahren, wie Sie ein kostenloses SSL-Zertifikat für Nginx unter Debian 10 installieren.