1. Einleitung
Wer lokale Dienste im Heimnetzwerk betreibt, kennt das Problem: Browser warnen vor unsicheren Verbindungen, da keine gültigen HTTPS-Zertifikate vorliegen. Die Lösung ist die Erstellung einer eigenen lokalen Zertifizierungsstelle (CA) mit mkcert.
Ziel dieses Tutorials ist es, vertrauenswürdige SSL-Zertifikate für lokale Domains (z. B. .lan) zu erstellen und diese im Nginx Proxy Manager (NPM) zu hinterlegen.
Voraussetzungen:
- Installierter Nginx Proxy Manager
- macOS oder Linux Rechner zur Zertifikatserstellung
- Zugriff auf die Clients (PC, Smartphone) zur Installation der Root-CA
[BILD 1: Schematische Darstellung: Browser vertraut mkcert CA, welche das NPM Zertifikat signiert hat]
2. Ueberblick
Wir werden eine Root-CA erstellen, daraus Server-Zertifikate generieren und diese auf den Clients als vertrauenswürdig einstufen.
- Installation von mkcert
- Erstellung von Wildcard-Zertifikaten
- Import in Nginx Proxy Manager
- Verteilung der Root-CA auf Endgeraete
3. Schritt-fuer-Schritt Anleitung
Schritt 1: Vorbereitung und Installation
Zuerst muss mkcert auf dem Arbeitsrechner (hier macOS) installiert werden. Anschliessend wird die lokale Zertifizierungsstelle initialisiert.
# Installation (macOS)
brew install mkcert nss
# Root-CA installieren
mkcert -install
# Pfad zur Root-CA anzeigen (wichtig fuer spaeter)
mkcert -CAROOT
Schritt 2: Zertifikate erstellen
Es empfiehlt sich, ein Arbeitsverzeichnis anzulegen. Wir erstellen hier Zertifikate fuer verschiedene Szenarien. Das Wildcard-Zertifikat ist meist die effizienteste Loesung.
mkdir -p /Users/richard/Desktop/DockerCert
cd /Users/richard/Desktop/DockerCert
# Option A: Einzel-Zertifikat
mkcert nessus.lan
# Option B: Wildcard-Zertifikat (Empfohlen)
mkcert "*.lan"
# Option C: Multi-Domain-Zertifikat
mkcert nessus.lan portainer.lan nextcloud.lan
Der Befehl erzeugt jeweils zwei Dateien: eine .pem Datei (das oeffentliche Zertifikat) und eine -key.pem Datei (der private Schluessel).
Schritt 3: Import in Nginx Proxy Manager
Die erzeugten Dateien muessen nun im Nginx Proxy Manager hinterlegt werden.
- Oeffnen Sie das NPM Dashboard.
- Navigieren Sie zu SSL Certificates > Add SSL Certificate > Custom.
- Geben Sie einen Namen ein (z. B. «Wildcard LAN»).
- Certificate: Inhalt der
*.pemDatei hochladen oder einfuegen. - Certificate Key: Inhalt der
*-key.pemDatei hochladen oder einfuegen. - Speichern.
Schritt 4: Proxy Host konfigurieren
Weisen Sie das neue Zertifikat einem Dienst zu. Beispielhaft fuer den Dienst «Nessus»:
Details Tab:
- Domain Names:
nessus.lan - Scheme:
https - Forward Hostname/IP:
100.97.248.236 - Forward Port:
8834 - Block Common Exploits: Aktiv
- Websockets Support: Aktiv
SSL Tab:
- SSL Certificate: «Wildcard LAN» auswaehlen
- Force SSL: Aktiv
- HTTP/2: Aktiv
[BILD 2: Screenshot der Proxy Host Konfiguration im SSL Tab]
Schritt 5: Root-CA auf Clients verteilen
Damit der Browser dem Zertifikat vertraut, muss die rootCA.pem (siehe Schritt 1) auf jedem Geraet importiert werden.
| OS / Browser | Aktion |
|---|---|
| macOS | mkcert -install ausfuehren ODER Datei doppelklicken und auf «Immer vertrauen» setzen. |
| Windows | Datei in rootCA.crt umbenennen > Importieren in «Vertrauenswuerdige Stammzertifizierungsstellen». |
| iOS / iPadOS | Per AirDrop/Mail senden > Einstellungen > Profil laden > Allgemein > Info > Zertifikatsvertrauenseinstellungen > Volles Vertrauen aktivieren. |
| Android | Einstellungen > Sicherheit > Verschluesselung & Anmeldedaten > Zertifikat installieren > CA-Zertifikat. |
| Firefox | Einstellungen > Datenschutz > Zertifikate anzeigen > Importieren. |
Schritt 6: Erneuerung der Zertifikate
Lokale Zertifikate haben eine begrenzte Laufzeit. Zur Erneuerung ueberschreiben Sie einfach die alten Dateien. NPM uebernimmt diese automatisch (kein Neustart notwendig).
mkcert -cert-file nessus.lan.pem -key-file nessus.lan-key.pem nessus.lan
4. Wichtige Hinweise & Stolperfallen
DNS Auflösung: Stellen Sie sicher, dass die Domain
nessus.lanauch wirklich auf die IP des Nginx Proxy Managers zeigt (via Pi-hole, AdGuard Home oder Hosts-Datei).
Sicherheit: Geben Sie den privaten Schluessel der Root-CA (
rootCA-key.pem) niemals weiter. Wer diesen besitzt, kann fuer jede beliebige Website vertrauenswuerdige Zertifikate fuer Ihr Netzwerk erstellen.
5. Ergebnis & Fazit
Nach erfolgreicher Einrichtung und Verteilung der Root-CA zeigt der Browser beim Aufruf von https://nessus.lan ein geschlossenes Schlosssymbol. Warnmeldungen gehoeren der Vergangenheit an.
Als naechsten Schritt koennen Sie diesen Prozess mittels Cronjobs automatisieren, um ablaufende Zertifikate automatisch zu erneuern.



