98 lines
3.3 KiB
Markdown
98 lines
3.3 KiB
Markdown
# 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 |