Wenn Sie viele Artikel über Datenschutztipps gelesen haben, werden Sie sicherlich auf einen Tipp stoßen, der Sie auffordert, die "HTTPS everywhere" -Erweiterung zu installieren, so dass Sie automatisch auf die HTTPS-Version der Website umgeleitet werden, wann immer dies möglich ist . Das Schlimme ist, dass die HTTPS everywhere-Erweiterung nur funktioniert, wenn die Website, die Sie besuchen, SSL implementiert hat, und dies kann für die meisten Webmaster eine schwierige (und kostspielige) Aufgabe sein. Glücklicherweise ist es mit der Let's Encrypt-Bewegung für Webmaster einfacher, jetzt SSL-Zertifikate zu ihren Websites hinzuzufügen.

In der Vergangenheit (und derzeit) müssen Sie für die Einrichtung eines SSL-Zertifikats zuerst einen privaten Schlüssel auf Ihrem Server erstellen, dann ein SSL-Zertifikat von der Zertifizierungsstelle kaufen (was sehr teuer sein kann) und es schließlich auf dem Server einrichten . Es gibt eine Menge technischer Aspekte, die in den Prozess involviert sind, und wenn Sie es nicht richtig machen, wird das SSL-Zertifikat nutzlos. Mit dem Let's Encrypt-Projekt kann man seinen Sites schnell und ohne zusätzliche Kosten ein SSL-Zertifikat hinzufügen. Unterstützt von den großen Industrieunternehmen wie Mozilla, Akamai, Cisco, EFFIf you und Google wird es von den meisten Browsern und Betriebssystemen unterstützt.

In diesem Tutorial werden wir die Schritte zum Einrichten des Let's Encrypt SSL-Zertifikats auf dem Nginx-Server durchführen. Wir verwenden einen Ubuntu 14.04 Server für dieses Tutorial und gehen davon aus, dass Sie einen funktionierenden Nginx Ubuntu Server verwenden. Die Anleitung kann für den Ubuntu 16.04 Server abweichen.

Installieren Sie Let's Encrypt

Um Let's Encrypt zu installieren, benötigen Sie zunächst git, um es von seinem Git-Repository zu kopieren. Installieren Sie git mit folgendem Befehl:

 sudo apt-get installieren git bc 

Nach der Installation klonen Sie das Repository von Let's Encrypt:

 Sudo Git Klon https://github.com/letsencrypt/letsencrypt / opt / letsencrypt 

Einrichten der Umgebung

Bevor wir mit der Installation und Einrichtung des SSL-Zertifikats fortfahren, ist es wichtig, den Zugriff auf den .well-known Ordner im Web-Stammverzeichnis zuzulassen. Standardmäßig sind alle Dateien und Ordner mit einem "." Vor dem Dateinamen verborgen und für die Öffentlichkeit nicht zugänglich. In diesem Fall müssen wir jedoch der Öffentlichkeit die Erlaubnis erteilen, auf den .well-known Ordner .well-known, da Let's Encrypt dort eine spezielle Datei zur Überprüfung speichert.

Fahren Sie mit Ihrem Nginx Site-Konfigurationsordner fort und öffnen Sie ihn (falls Sie eine benutzerdefinierte Konfigurationsdatei für Ihre Site haben) oder verwenden Sie den Standard:

 cd / etc / nginx / sites-sudo nano Standard verfügbar 

Fügen Sie die folgenden Zeilen in den Serverblock ein:

 location ~ /\.well-known {alles erlauben; } 

Speichern (Strg + O) und schließen (Strg + X) die Konfigurationsdatei.

Testen Sie Ihre Nginx-Konfiguration:

 sudo nginx -t 

Wenn alle Konfigurationen funktionieren, laden Sie die Konfiguration neu:

 sudo service nginx neu laden 

Generieren Sie ein SSL-Zertifikat

Nachdem Sie die Nginx-Konfiguration abgeschlossen haben, müssen Sie als Nächstes das SSL-Zertifikat installieren.

Gehe zum Ordner Let's Encrypt:

 cd / opt / letsencrypt 

Führen Sie den folgenden Befehl aus, um das Zertifikat zu generieren:

 ./letsencrypt-auto certonly -a Webroot --webroot-pfad = / usr / share / nginx / html -d beispiel.com 

Hier gibt es ein paar Dinge zu ändern:

  • Ändern Sie den webroot-path zum webroot-path Ihrer Site. Der Standardwert ist "/ user / share / nginx / html", aber Ihre Konfiguration kann abweichen.
  • Ändern Sie "example.com" in Ihren eigenen Domainnamen. Beachten Sie, dass "example.com" und "www.example.com" zwei verschiedene Domains sind. Wenn das Zertifikat mehrere Domänen unterstützen soll, fügen -d example1.com einfach -d example1.com am Ende des Befehls hinzu. Um beispielsweise ein SSL-Zertifikat für die Domänen "example.com", "www.example.com", "example1.com" und "www.example1.com" einzurichten, verwenden Sie den folgenden Befehl:
 ./letsencrypt-auto certonly -a Webroot --webroot-pfad = / usr / teilen / nginx / html -d beispiel.com -d www.beispiel.com -d beispiel1.com -d www.beispiel1.com 

Beim ersten Start installiert das Skript eine Reihe von Python-Dateien in Ihrem System. Sobald es fertig ist, wird es den Zertifikaterzeugungsprozess beginnen. Zuerst wird nach Ihrer E-Mail-Adresse gefragt:

Danach werden Sie aufgefordert, die Nutzungsbedingungen auf der Website von Let's Encrypt zu lesen. Wählen Sie "Zustimmen".

Wenn Sie die folgende Nachricht sehen:

 WICHTIGE HINWEISE: - Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden unter /etc/letsencrypt/live/example.com/fullchain.pem gespeichert. Ihr Zertifikat wird am 02.10.2016 ablaufen. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach erneut den Befehl letscrypt-auto aus. Um * alle * Ihrer Zertifikate nicht-interaktiv zu erneuern, führen Sie "letsencrypt-auto renew" aus. - Wenn Sie Certbot mögen, unterstützen Sie bitte unsere Arbeit durch: Spenden an ISRG / Let's Encrypt: https://letsencrypt.org/donate Spenden an EFF: https://eff.org/donate-le 

Das bedeutet, dass Sie erfolgreich ein SSL-Zertifikat für Ihre Site (s) erstellt haben. Wenn stattdessen eine Fehlermeldung angezeigt wird, beheben Sie den Fehler und versuchen Sie es erneut.

Aktivieren des SSL-Zertifikats für Ihre Site

Nachdem Sie das SSL-Zertifikat erstellt haben, ist es an der Zeit, es für Ihre Site zu aktivieren.

Kehren Sie zum Nginx-Konfigurationsordner zurück und öffnen Sie die Konfigurationsdatei der Site:

 cd / etc / nginx / sites-sudo nano Standard verfügbar 

Erstellen Sie einen neuen Serverblock und fügen Sie die folgende Konfiguration in den Block ein:

 Server {Servername Beispiel.com www.Beispiel.com; höre 443 ssl; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; } 

Speichern und schließen Sie die Datei.

Hinweis : Oben ist eine vereinfachte Version des Nginx-Konfigurationsblocks. Sie sollten eine eigene benutzerdefinierte Konfiguration in den Block einfügen.

Zuletzt, testen Sie die Konfiguration:

 sudo nginx -t 

Wenn alles in Ordnung ist, laden Sie Nginx neu:

 sudo service nginx neu laden 

Das ist es. Sie haben erfolgreich ein SSL-Zertifikat für Ihre Websites eingerichtet. Sie können jetzt die "https" -Version Ihrer URL laden, um sie in Aktion zu sehen.

Automatisches Erneuern eines SSL-Zertifikats

Im Gegensatz zu den meisten kommerziellen SSL-Zertifikaten, die für mindestens ein Jahr gültig sind, ist das SSL-Zertifikat von Let's Encrypt nur für drei Monate gültig. Nach dieser Zeit müssen Sie verlängern, um es weiter zu verwenden. Let's Encrypt verfügt über eine renew, mit der Sie Ihre Zertifikate problemlos erneuern können, ohne die gesamte Installation erneut durchlaufen zu müssen. Die folgenden Anweisungen zeigen Ihnen, wie Sie einen Cron-Job einrichten, um Ihr SSL-Zertifikat automatisch zu erneuern.

Öffnen Sie auf Ihrem Server die Crontab:

 sudo crontab -e 

Fügen Sie die folgenden Zeilen hinzu:

 00 0 * * 1 / opt / letsencrypt / letsencrypt-auto erneuern >> /var/log/le-renew.log 05 0 * * 1 /etc/init.d/nginx reload 

Die obigen Zeilen überprüfen das Ablaufdatum Ihrer SSL-Zertifikate jeden Montag um 12:00 Uhr und erneuern sie, wenn sie kurz vor dem Ablauf stehen. Außerdem wird Nginx (um 12.05 Uhr) neu geladen, um sicherzustellen, dass das erneuerte Zertifikat verwendet wird.

Speichern und schließen Sie die Crontab.

Fazit

Wenn Sie eine kleine Website betreiben und daran interessiert sind, SSL zu Ihrer Website hinzuzufügen, ist Let's Encrypt eine großartige Option, um Ihrer Website Glaubwürdigkeit zu verleihen. Es ist (relativ) einfach einzurichten und kostet nichts (kostenlos, wie in Bier), also gibt es keinen Grund, es nicht zu benutzen. Da es jedoch nur ein Domain-Validated (DV) -Zertifikat (die einfachste Art von SSL-Zertifikat) für Unternehmen bereitstellt, die OV- oder Extended-Validation (EV) SSL-Zertifikate benötigen, ist wahrscheinlich ein kommerzielles SSL-Zertifikat erforderlich der Weg, den man gehen sollte.

Internet2 - HTTPS