Wie man lokal vertrauenswürdige SSL-Zertifikate mit mkcert auf Ubuntu 20.04 erstellt

Mkcert ist ein kostenloses, einfaches und sehr nützliches Tool, mit dem du ein lokal vertrauenswürdiges Zertifikat erstellen kannst, ohne es von der echten CA zu kaufen. Entwickler arbeiten in der Regel auf dem lokalen System und es ist immer unmöglich, das vertrauenswürdige Zertifikat von CA auf localhost zu verwenden. Mkcert erlaubt es dir, deine eigenen Zertifikate zu verwalten, ohne dass du dich mit ihnen herumschlagen musst.

In diesem Beitrag zeigen wir dir, wie du ein vertrauenswürdiges SSL-Zertifikat für die lokale Entwicklung mit Mkcert unter Ubuntu 20.04 erstellen kannst.

Voraussetzungen

  • Ein System, auf dem Ubuntu 20.04 Desktop läuft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Als erstes aktualisierst du die Systempakete auf die aktuelle Version, indem du den folgenden Befehl ausführst:

apt-get update -y

Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.

Mkcert installieren

Bevor du das Mkcert Dienstprogramm installierst, musst du die benötigten Pakete auf deinem Server installieren. Du kannst sie mit dem folgenden Befehl installieren:

apt-get install wget libnss3-tools

Sobald alle Pakete installiert sind, lade die neueste Version von Mkcert von Github herunter.

wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64

Nachdem du Mkcert heruntergeladen hast, verschiebe das heruntergeladene Binary in den Systempfad:

mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert

Setze als nächstes die Ausführungsberechtigung auf mkcert:

chmod +x /usr/bin/mkcert

Als nächstes überprüfe die Mkcert Version mit dem folgenden Befehl:

mkcert --version

Du solltest die folgende Ausgabe sehen:

v1.4.3

Generate Local CA

Führe nun den folgenden Befehl aus, um ein lokales CA-Zertifikat zu erzeugen:

mkcert -install

Du solltest die folgende Ausgabe sehen:

Created a new local CA ????
The local CA is now installed in the system trust store! ??
The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! ????

Du kannst den Pfad des CA-Zertifikats mit dem folgenden Befehl überprüfen:

mkcert -CAROOT

Du solltest die folgende Ausgabe sehen:

/root/.local/share/mkcert

Generate a Certificate for Local Website

Als nächstes kannst du das Zertifikat und die Schlüsseldatei für deine lokal gehostete Webseite mit dem folgenden Befehl erzeugen:

mkcert app.example.com localhost 127.0.0.1 ::1

Du solltest die folgende Ausgabe sehen:

Created a new certificate valid for the following names ????
 - "app.example.com"
 - "localhost"
 - "127.0.0.1"
 - "::1"

The certificate is at "./app.example.com+3.pem" and the key at "./app.example.com+3-key.pem" ?

It will expire on 1 November 2023 ????

Nginx konfigurieren, um das generierte Zertifikat zu verwenden

Als nächstes musst du den Nginx Webserver konfigurieren, um die generierten Zertifikate zu verwenden.

Kopiere zuerst die generierten Zertifikatsdateien in das /etc/ssl/ Verzeichnis:

cp app.example.com+3* /etc/ssl/

Als Nächstes musst du dem Nginx-Web-Root-Verzeichnis die korrekten Eigentumsrechte zuweisen:

chown -R www-data:www-data /var/www/html/

Als nächstes erstellst du eine Nginx Virtual Host Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/nginx/conf.d/app.conf

Füge die folgenden Zeilen hinzu:

server {
   listen 80;
   server_name app.example.com;
   root /var/www/html;
}

server {
   listen *:443 ssl;
   root /var/www/html;
   server_name app.example.com;
   ssl_certificate /etc/ssl/app.example.com+3.pem; 
   ssl_certificate_key /etc/ssl/app.example.com+3-key.pem;
}

Speichere und schließe die Datei, wenn du fertig bist und überprüfe Nginx auf Syntaxfehler:

nginx -t

Du solltest die folgende Ausgabe sehen:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Als nächstes starte den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Als nächstes bearbeite die Datei /etc/hosts und binde app.example.com an deine System-IP-Adresse:

nano /etc/hosts

Füge die folgenden Zeilen hinzu:

your-server-ip app.example.com

Verify SSL for Your Domain

Öffne nun deinen Webbrowser und gib die URL https://app.example.com ein. Du solltest sehen, dass deine Domain mit Mkcert gesichert ist.

Sichere Nginx Webseite

Klicke nun auf das Schloss-Symbol. Du solltest die Informationen über dein Zertifikat auf der folgenden Seite sehen:

SSL Zertifikat Details

Fazit

Glückwunsch! Du hast Mkcert erfolgreich installiert und ein vertrauenswürdiges CA-Zertifikat für deine lokale Entwicklung erstellt. Ich würde empfehlen, Mkcert nur für die Entwicklungsumgebung zu verwenden. Es wird nicht für die Produktionsumgebung empfohlen.

Das könnte dich auch interessieren …