3.3 KiB
SSL-Konfiguration für das MYP-System
Dieses Dokument beschreibt die SSL-Konfiguration für das Mercedes-Benz 3D-Druck-Management-System (MYP) am Standort Berlin Werk 040.
Übersicht
Das System besteht aus zwei Hauptkomponenten:
-
Backend (Flask-Anwendung)
- Hostname:
raspberrypi
- Ports: 443 (HTTPS), 80 (HTTP-Fallback)
- SSL: Selbstsigniertes Zertifikat
- Hostname:
-
Frontend (Next.js-Anwendung mit Caddy-Proxy)
- Hostname:
m040tbaraspi001.de040.corpintra.net
- Port: 443 (HTTPS)
- SSL: Selbstsigniertes Zertifikat durch Caddy
- Hostname:
Voraussetzungen
- Docker und Docker Compose müssen installiert sein
- OpenSSL für die Zertifikatgenerierung
- Administratorrechte für das Einrichten der Hostnamen
Einrichtung
1. Hostnamen konfigurieren
Für die korrekte Funktion des Systems müssen die folgenden Hostnamen in der /etc/hosts
(Linux/macOS) oder C:\Windows\System32\drivers\etc\hosts
(Windows) Datei eingerichtet werden:
127.0.0.1 m040tbaraspi001.de040.corpintra.net m040tbaraspi001
127.0.0.1 raspberrypi
Verwenden Sie für die automatische Konfiguration die bereitgestellten Skripte:
- Windows:
setup_hosts.ps1
(als Administrator ausführen) - Linux/macOS:
setup_hosts.sh
(mit sudo ausführen)
2. SSL-Zertifikate generieren
Für die HTTPS-Kommunikation werden selbstsignierte Zertifikate verwendet:
- Windows:
generate_ssl_certs.ps1
(als Administrator ausführen) - Linux/macOS:
generate_ssl_certs.sh
(mit sudo ausführen)
Die Zertifikate werden im Verzeichnis backend/instance/ssl/
gespeichert:
- Backend:
myp.crt
undmyp.key
- Frontend:
frontend.crt
undfrontend.key
3. System starten
Nach der Konfiguration kann das System mit folgendem Befehl gestartet werden:
docker-compose up -d
Zugriff auf das System
- Backend-API: https://raspberrypi/
- Frontend-Anwendung: https://m040tbaraspi001.de040.corpintra.net/
Beim ersten Zugriff wird der Browser eine Sicherheitswarnung anzeigen, da selbstsignierte Zertifikate verwendet werden. Diese Warnung kann akzeptiert werden, um fortzufahren.
Konfigurationsdateien
Die SSL-Konfiguration ist in folgenden Dateien definiert:
backend/app/config/settings.py
: Backend-SSL-Konfigurationfrontend/docker/caddy/Caddyfile
: Frontend-Proxy-Konfiguration mit SSLdocker-compose.yml
: Docker-Container-Konfiguration mit Hostnamen und Ports
Fehlerbehebung
Zertifikatsprobleme
Falls die SSL-Zertifikate nicht richtig funktionieren, führen Sie folgende Schritte aus:
- Überprüfen Sie, ob die Zertifikate im Verzeichnis
backend/instance/ssl/
existieren - Führen Sie die Skripte zur Zertifikatgenerierung erneut aus
- Starten Sie die Container neu:
docker-compose restart
Hostnamenprobleme
Falls die Hostnamen nicht aufgelöst werden können:
- Überprüfen Sie die Einträge in der Hosts-Datei mit
cat /etc/hosts
(Linux/macOS) odertype C:\Windows\System32\drivers\etc\hosts
(Windows) - Führen Sie die Hostnamen-Setup-Skripte erneut aus
- Überprüfen Sie die Netzwerkkonfiguration in
docker-compose.yml
Sicherheitshinweise
- Die selbstsignierten Zertifikate sind für Entwicklungs- und interne Zwecke geeignet
- Für Produktionsumgebungen sollten offiziell signierte Zertifikate verwendet werden
- Der HTTP-Port 80 beim Backend dient nur als Fallback und sollte in kritischen Umgebungen deaktiviert werden