Website-Suche

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:

  1. Eine laufende Instanz von Debian 10 Minimal Server.
  2. Eine laufende Instanz von Nginx Web Server mit Domain Setup unter Debian 10.
  3. 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.