Mkcert ist ein kostenloses, einfaches und sehr nützliches Tool, mit dem Sie ein lokal vertrauenswürdiges Zertifikat erstellen können, ohne es von der echten CA zu kaufen. Entwickler arbeiten normalerweise auf dem lokalen System und es ist immer unmöglich, das vertrauenswürdige Zertifikat von CA auf localhost zu verwenden. Mit Mkcert können Sie problemlos Ihre eigenen Zertifikate verwalten.
In diesem Beitrag zeigen wir Ihnen, wie Sie mit Mkcert unter Ubuntu 20.04 ein vertrauenswürdiges SSL-Zertifikat für die lokale Entwicklung erstellen.
Voraussetzungen
- Ein System, auf dem Ubuntu 20.04 Desktop ausgeführt wird.
- Auf dem Server ist ein Root-Passwort konfiguriert.
Erste Schritte
Aktualisieren Sie zuerst die Systempakete auf die aktualisierte Version, indem Sie den folgenden Befehl ausführen:
apt-get update -y
Sobald alle Pakete aktualisiert sind, können Sie mit dem nächsten Schritt fortfahren.
Mkcert installieren
Vor der Installation des Mkcert-Dienstprogramms müssen Sie die erforderlichen Pakete auf Ihrem Server installieren. Sie können es mit dem folgenden Befehl installieren:
apt-get install wget libnss3-tools
Sobald alle Pakete installiert sind, laden Sie 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
Verschieben Sie nach dem Herunterladen von Mkcert die heruntergeladene Binärdatei in den Systempfad:
mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert
Setzen Sie als Nächstes die Ausführungsberechtigung auf mkcert:
chmod +x /usr/bin/mkcert
Überprüfen Sie als Nächstes die Mkcert-Version mit dem folgenden Befehl:
mkcert --version
Sie sollten die folgende Ausgabe sehen:
v1.4.3
Lokale Zertifizierungsstelle generieren
Führen Sie nun den folgenden Befehl aus, um ein lokales CA-Zertifikat zu generieren:
mkcert -install
Sie sollten 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)! ????
Sie können den Pfad des CA-Zertifikats mit dem folgenden Befehl überprüfen:
mkcert -CAROOT
Sie sollten die folgende Ausgabe sehen:
/root/.local/share/mkcert
Generieren Sie ein Zertifikat für eine lokale Website
Als Nächstes können Sie mit dem folgenden Befehl das Zertifikat und die Schlüsseldatei für Ihre lokal gehostete Website generieren:
mkcert app.example.com localhost 127.0.0.1 ::1
Sie sollten 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 ????
Konfigurieren Sie Nginx für die Verwendung des generierten Zertifikats
Als nächstes müssen Sie den Nginx-Webserver konfigurieren, um die generierten Zertifikate zu verwenden.
Kopieren Sie zunächst die generierten Zertifikatsdateien in das Verzeichnis /etc/ssl/:
cp app.example.com+3* /etc/ssl/
Legen Sie als Nächstes den richtigen Besitz für das Nginx-Webstammverzeichnis fest:
chown -R www-data:www-data /var/www/html/
Erstellen Sie als Nächstes mit dem folgenden Befehl eine Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/conf.d/app.conf
Fügen Sie 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; }
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und überprüfen Sie dann Nginx auf Syntaxfehler:
nginx -t
Sie sollten 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
Starten Sie als Nächstes den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
Bearbeiten Sie als Nächstes die Datei /etc/hosts und binden Sie Ihre app.example.com an Ihre System-IP-Adresse:
nano /etc/hosts
Fügen Sie die folgenden Zeilen hinzu:
your-server-ip app.example.com
SSL für Ihre Domain verifizieren
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://app.example.com ein . Sie sollten sehen, dass Ihre Domain mit Mkcert gesichert ist.
Klicken Sie nun auf das Schloss Symbol. Sie sollten die Informationen zu Ihrem Zertifikat auf der folgenden Seite sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben Mkcert erfolgreich installiert und ein vertrauenswürdiges CA-Zertifikat für Ihre lokale Entwicklung erstellt. Ich würde empfehlen, Mkcert nur für die Entwicklungsumgebung zu verwenden. Es wird nicht für die Produktionsumgebung empfohlen.