NGINX SSL Zertifikat installieren

Im letzten Tutorial haben wir einen Nginx Verzeichnisschutz angelegt. Nun möchte ich euch im Anschluss noch zeigen wie man ein SSL Zertifikat für den Nginx Webserver konfiguriert. Das geht im fast genau so wie beim Apache Webserver.

Nginx SSL Zertifikat

NGINX SSL Zertifikat installieren

Mit einem Nginx SSL Zertifikat sichert man seinen Webserver durch verschlüsselte HTTPS Datenübertragung perfekt ab. Die übertragenen Daten werden nun End zu End verschlüsselt und sind von dritten nicht einsehbar. Das garantiert maximale Sicherheit für jeden Kunden der die Webseite oder das Webservice nutzt. Ein SSL Zertifikat kann man zwar selbst erstellen, ein Webbrowser zeigt dann aber eine Warnung an. Um das zu vermeiden muss man sich ein verifiziertes Zertifikat von einer externen Stelle kaufen. Falls man das Service von Let’s Encrypt verwendet funktioniert das aber auch gratis.

Konfiguration

Wie auch schon beim letzten Tutorial bearbeiten wir die nginx.conf Datei. Diese findet man an unterschiedlichen Verzeichnissen (je nach Betriebssystem und Distribution), üblicherweise unter /etc/nginx. Eine übliche Konfiguration für eine durch SSL abgesicherte Webseite sieht wie folgt aus:

Unter dem listen Befehl haben wir die lokale IP Adresse angegeben. Wichtig ist die Angabe des Ports 443 und ssl. Ungesicherte HTTP Webseiten haben dort Port 80 stehen. D.h. Falls man nur HTTPS braucht ersetzt man den Eintrag mit Port 80, ansonsten erstellt man einen zweiten server Eintrag um HTTP und HTTPS zu nutzen.

Die folgenden drei Zeilen sind eigentlich immer die selben. Wir schalten mit „ssl on“ die SSL Verschlüsselung ein. Danach müssen wir sowohl den Zertifikats Schlüssel als auch das Zertifikat angeben. Der Zertifikats Schlüssel ist ein selbst erstellter Private Key, mit dem man das Zertifikat beantragt hat –> siehe dazu mein CSR Tutorial und wie man das damit erhaltene Zertifikat installiert. Die Konfigurationsdatei mein_private.key enthält einen privaten Schlüssel. Die *.key Datei beginnt dabei immer mit:

und endet mit

mein_ssl_zertifikat.crt enthält das Zertifikat, das man vom Zertifikatsanbieter erhält. Der Inhalt von dieser *.crt Datei beginnt immer mit

und endet mit

Änderungen übernehmen

Nginx kann die geänderte Konfiguration ohne Neustart sofort im laufenden Betrieb übernehmen. Das funktioniert auf der Kommandozeile mit folgendem Befehl:

Es wird auf der Kommandozeile eine entsprechende Erfolgsmeldung ausgegeben. Danach kann man das neue Zertifikat sofort über den Browser testen. Sollte man eine Fehlermeldung bekommen, dann läuft der Webserver ohne Probleme mit der alten Konfiguration weiter. Die Fehlermeldung gibt Auskunft darüber, was man falsch gemacht hat.

Probleme

Eine Fehlermeldung die ich bekommen habe war die folgende: SSL: error:0906D06C:PEM routines… Bei diesem Fehler passt der Key nicht zum Zertifikat. Entweder wurde das Zertifikat falsch erstellt oder falsch hineinkopiert. Mit folgenden Schritten sollte man so einen Fehler vermeiden.

  • Kopiere das Zertifikat in einen Texteditor und prüfe ob keine zusätzlichen Leerzeichen mitkopiert wurden.
  • Die erste und letzte Zeile des Zertifikats muss durch ein durch — eingeschlossene Zeichenkette bestehen.
  • Jede Zeile vom Zertifikat hat genau 64 Zeichen, außer der letzten

Fazit

Ein Nginx SSL Zertifikat ist dank der einfachen Konfiguration am Nginx Webserver sehr einfach umgesetzt. Man kann das auch im laufenden Betrieb durchführen ohne Angst zu haben, dass man durch eine falsche Konfiguration den Webserver abschließt. Nginx gibt zwar kryptische Fehlermeldungen, dank der Google Suche lässt sich aber jedes Problem schnell erkennen und lösen. Der durch HTTPS abgesicherten Webseite steht nichts mehr im Weg!

(Visited 121 times, 1 visits today)

Das könnte auch interessant sein...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.