Projektarbeit-MYP/docs/SSL_KONFIGURATION.md

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:

  1. Backend (Flask-Anwendung)

    • Hostname: raspberrypi
    • Ports: 443 (HTTPS), 80 (HTTP-Fallback)
    • SSL: Selbstsigniertes Zertifikat
  2. Frontend (Next.js-Anwendung mit Caddy-Proxy)

    • Hostname: m040tbaraspi001.de040.corpintra.net
    • Port: 443 (HTTPS)
    • SSL: Selbstsigniertes Zertifikat durch Caddy

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 und myp.key
  • Frontend: frontend.crt und frontend.key

3. System starten

Nach der Konfiguration kann das System mit folgendem Befehl gestartet werden:

docker-compose up -d

Zugriff auf das System

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-Konfiguration
  • frontend/docker/caddy/Caddyfile: Frontend-Proxy-Konfiguration mit SSL
  • docker-compose.yml: Docker-Container-Konfiguration mit Hostnamen und Ports

Fehlerbehebung

Zertifikatsprobleme

Falls die SSL-Zertifikate nicht richtig funktionieren, führen Sie folgende Schritte aus:

  1. Überprüfen Sie, ob die Zertifikate im Verzeichnis backend/instance/ssl/ existieren
  2. Führen Sie die Skripte zur Zertifikatgenerierung erneut aus
  3. Starten Sie die Container neu: docker-compose restart

Hostnamenprobleme

Falls die Hostnamen nicht aufgelöst werden können:

  1. Überprüfen Sie die Einträge in der Hosts-Datei mit cat /etc/hosts (Linux/macOS) oder type C:\Windows\System32\drivers\etc\hosts (Windows)
  2. Führen Sie die Hostnamen-Setup-Skripte erneut aus
  3. Ü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