SSL-Konfiguration für Backend und Frontend aktualisiert

This commit is contained in:
Till Tomczak 2025-05-26 08:56:29 +02:00
parent bf60876e02
commit 7ce1ee5df6
2 changed files with 219 additions and 2 deletions

View File

@ -1 +1,121 @@
# MYP Installationsanleitung
Diese Anleitung beschreibt die Schritte zur Installation und Konfiguration des Mercedes-Benz 3D-Druck-Management-Systems (MYP) für den Standort Berlin Werk 040.
## Voraussetzungen
- Windows 10/11 oder aktuelles Linux/macOS
- Docker Desktop installiert und konfiguriert
- OpenSSL installiert (für Windows: [Win64 OpenSSL v3.1.1](https://slproweb.com/products/Win32OpenSSL.html))
- Administratorrechte für die Hostnamen-Konfiguration
## Installationsschritte
### 1. Projekt herunterladen
Klonen Sie das Repository oder entpacken Sie das Archiv in ein Verzeichnis Ihrer Wahl.
### 2. Hostnamen konfigurieren
#### Windows:
1. PowerShell als Administrator starten (Rechtsklick -> "Als Administrator ausführen")
2. Zum Projektverzeichnis navigieren:
```powershell
cd C:\Pfad\zum\Projektarbeit-MYP
```
3. Hostnamen-Konfigurationsskript ausführen:
```powershell
.\setup_hosts.ps1
```
#### Linux/macOS:
1. Terminal öffnen
2. Zum Projektverzeichnis navigieren:
```bash
cd /pfad/zum/Projektarbeit-MYP
```
3. Hostnamen-Konfigurationsskript ausführen:
```bash
sudo ./setup_hosts.sh
```
### 3. SSL-Zertifikate generieren
#### Windows:
1. PowerShell als Administrator starten (falls nicht bereits offen)
2. Zum Projektverzeichnis navigieren
3. SSL-Zertifikat-Generierungsskript ausführen:
```powershell
.\generate_ssl_certs.ps1
```
#### Linux/macOS:
1. Terminal öffnen (falls nicht bereits offen)
2. Zum Projektverzeichnis navigieren
3. SSL-Zertifikat-Generierungsskript ausführen:
```bash
sudo ./generate_ssl_certs.sh
```
### 4. Docker-Container starten
Nachdem die Hostnamen und SSL-Zertifikate konfiguriert wurden, können Sie die Anwendung starten:
```
docker-compose up -d
```
Dies startet alle erforderlichen Container:
- Backend (Flask) auf `raspberrypi:443` mit HTTPS
- Frontend (Next.js) auf Port 3000
- Caddy Proxy auf `m040tbaraspi001.de040.corpintra.net:443` mit HTTPS
### 5. Zugriff auf die Anwendung
Nach dem Start können Sie auf die Anwendung über folgende URLs zugreifen:
- **Frontend**: https://m040tbaraspi001.de040.corpintra.net/
- **Backend API**: https://raspberrypi/
Da selbstsignierte Zertifikate verwendet werden, zeigt Ihr Browser beim ersten Zugriff eine Sicherheitswarnung an. Klicken Sie auf "Erweitert" und dann auf "Fortfahren" (oder ähnliche Option je nach Browser), um auf die Anwendung zuzugreifen.
## Fehlerbehebung
### Problem: Zertifikatsfehler im Browser
1. Überprüfen Sie, ob die SSL-Zertifikate korrekt generiert wurden
2. Führen Sie `generate_ssl_certs.ps1` (Windows) oder `generate_ssl_certs.sh` (Linux/macOS) erneut aus
3. Starten Sie die Docker-Container neu: `docker-compose restart`
### Problem: Hostnamen werden nicht aufgelöst
1. Überprüfen Sie, ob die Hosts-Einträge korrekt in der Hosts-Datei vorhanden sind:
- Windows: `type C:\Windows\System32\drivers\etc\hosts`
- Linux/macOS: `cat /etc/hosts`
2. Führen Sie das Hostnamen-Konfigurationsskript erneut aus
3. Stellen Sie sicher, dass die Hostnamen in den Docker-Container-Konfigurationen übereinstimmen
### Problem: Docker-Container starten nicht
1. Überprüfen Sie die Docker-Logs: `docker-compose logs`
2. Stellen Sie sicher, dass Docker Desktop läuft
3. Überprüfen Sie, ob die Ports 80 und 443 bereits verwendet werden:
- Windows: `netstat -an | findstr "80 443"`
- Linux/macOS: `sudo lsof -i :80,443`
## Update und Neustart
Um die Anwendung zu aktualisieren oder nach Änderungen neu zu starten:
1. Stoppen Sie die Container: `docker-compose down`
2. Aktualisieren Sie das Repository (falls erforderlich)
3. Bauen Sie die Container neu: `docker-compose build`
4. Starten Sie die Container neu: `docker-compose up -d`
## Zusätzliche Informationen
Weitere Informationen zur SSL-Konfiguration finden Sie in der Datei `SSL_KONFIGURATION.md`.

View File

@ -1 +1,98 @@
# 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
- **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-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