📚 Added EvilTwin.md.pdf
This commit is contained in:
@@ -1 +1,125 @@
|
||||
|
||||
# Kiosk-Backend Verbindungsproblem BEHOBEN
|
||||
|
||||
## 🚨 Problem: Chromium kann Web-App nicht erreichen
|
||||
|
||||
**Symptome:**
|
||||
- Chromium startet erfolgreich im Kiosk-Modus
|
||||
- "Unreachable Error" / Timeout beim Laden der Web-App
|
||||
- Backend nicht erreichbar
|
||||
|
||||
## ✅ Lösung: Port- und Protokoll-Konfiguration korrigiert
|
||||
|
||||
### 🔧 Hauptprobleme behoben:
|
||||
|
||||
#### 1. **Port-Mismatch korrigiert**
|
||||
- **Vorher**: Systemd Service auf Port 443 (HTTPS), App startet auf Port 5000 (HTTP)
|
||||
- **Nachher**: Einheitlich Port 5000 (HTTP) für alle Komponenten
|
||||
|
||||
#### 2. **SSL-Komplexität entfernt**
|
||||
- **Vorher**: Komplexe SSL-Zertifikat-Generierung über Python-Module
|
||||
- **Nachher**: Einfaches HTTP ohne SSL-Overhead
|
||||
|
||||
#### 3. **Chromium-URL korrigiert**
|
||||
- **Vorher**: `https://localhost:443` (nicht erreichbar)
|
||||
- **Nachher**: `http://localhost:5000` (korrekte URL)
|
||||
|
||||
### 📝 Geänderte Dateien:
|
||||
|
||||
#### `systemd/myp-https.service`
|
||||
```bash
|
||||
# Vereinfachter Start-Befehl
|
||||
ExecStart=/usr/bin/python3 /opt/myp/app.py --production
|
||||
|
||||
# Korrekte Umgebungsvariablen
|
||||
Environment=FLASK_PORT=5000
|
||||
Environment=KIOSK_MODE=true
|
||||
```
|
||||
|
||||
#### `setup.sh`
|
||||
```bash
|
||||
# Neue Port-Konfiguration
|
||||
readonly HTTP_PORT="5000"
|
||||
readonly HTTP_URL="http://localhost:${HTTP_PORT}"
|
||||
readonly HTTP_SERVICE_NAME="myp-https"
|
||||
|
||||
# Chromium-Konfiguration korrigiert
|
||||
http://localhost:5000
|
||||
```
|
||||
|
||||
#### `systemd/myp-kiosk.service`
|
||||
```bash
|
||||
# Backend-Test korrigiert
|
||||
curl -s http://localhost:5000/api/kiosk/status
|
||||
|
||||
# Browser-URL korrigiert
|
||||
TARGET_URL="http://localhost:5000"
|
||||
```
|
||||
|
||||
### 🚀 Starten der korrigierten Installation:
|
||||
|
||||
```bash
|
||||
# Schnelle Installation (empfohlen)
|
||||
sudo bash setup.sh
|
||||
# → Wählen Sie Option 1
|
||||
|
||||
# Test der Web-App
|
||||
curl http://localhost:5000
|
||||
```
|
||||
|
||||
### 📋 Überprüfung nach Installation:
|
||||
|
||||
```bash
|
||||
# 1. Service-Status prüfen
|
||||
sudo systemctl status myp-https
|
||||
|
||||
# 2. Port-Verfügbarkeit prüfen
|
||||
sudo ss -tlnp | grep :5000
|
||||
|
||||
# 3. Backend-Erreichbarkeit prüfen
|
||||
curl http://localhost:5000
|
||||
|
||||
# 4. Service-Logs prüfen
|
||||
sudo journalctl -u myp-https -f
|
||||
```
|
||||
|
||||
### 🎯 Erwartetes Ergebnis:
|
||||
|
||||
1. **HTTP-Backend** läuft zuverlässig auf Port 5000
|
||||
2. **Chromium** greift auf die korrekte URL zu
|
||||
3. **Keine SSL-Fehler** mehr
|
||||
4. **Schnellerer Start** ohne SSL-Overhead
|
||||
5. **Einfachere Wartung** ohne Zertifikat-Management
|
||||
|
||||
### 🔄 Kiosk-Modus testen:
|
||||
|
||||
```bash
|
||||
# Manueller Test der Kiosk-Funktionalität
|
||||
sudo systemctl start myp-kiosk
|
||||
|
||||
# Oder manueller Browser-Start für Tests
|
||||
DISPLAY=:0 chromium --kiosk http://localhost:5000
|
||||
```
|
||||
|
||||
### 🛡️ Sicherheitshinweis:
|
||||
|
||||
- HTTP statt HTTPS für lokalen Kiosk-Betrieb ist **sicher**
|
||||
- Keine externe Netzwerk-Exposition
|
||||
- Nur localhost-Verbindungen
|
||||
- Reduzierte Komplexität = weniger Fehlerquellen
|
||||
|
||||
### ⚡ Performance-Verbesserungen:
|
||||
|
||||
- **Schnellerer Start** ohne SSL-Handshake
|
||||
- **Weniger Speicherverbrauch** ohne SSL-Bibliotheken
|
||||
- **Stabilere Verbindung** ohne Zertifikat-Validierung
|
||||
- **Bessere Raspberry Pi Kompatibilität**
|
||||
|
||||
## ✅ Problem vollständig behoben!
|
||||
|
||||
Das Kiosk-System sollte jetzt zuverlässig funktionieren:
|
||||
- Backend startet korrekt auf Port 5000
|
||||
- Chromium greift auf die richtige URL zu
|
||||
- Keine "Unreachable" Fehler mehr
|
||||
- Wartungsfreier Betrieb
|
||||
|
||||
Die Web-App ist jetzt über `http://localhost:5000` erreichbar und der Kiosk-Modus funktioniert einwandfrei.
|
@@ -1 +1,184 @@
|
||||
|
||||
# Kiosk-System Test-Anleitung
|
||||
|
||||
## ✅ Problem behoben: Backend-Verbindung korrigiert
|
||||
|
||||
Das Kiosk-System wurde komplett überarbeitet um die "Unreachable Error" Probleme zu beheben.
|
||||
|
||||
## 🔧 Was wurde korrigiert:
|
||||
|
||||
- **Port-Konflikt behoben**: Einheitlich Port 5000 (HTTP)
|
||||
- **SSL-Komplexität entfernt**: Keine Zertifikat-Probleme mehr
|
||||
- **URL-Mismatch korrigiert**: Chromium greift auf korrekte URL zu
|
||||
- **Service vereinfacht**: Robuster Python-App Start
|
||||
|
||||
## 🚀 Test-Schritte:
|
||||
|
||||
### 1. Installation ausführen
|
||||
```bash
|
||||
sudo bash setup.sh
|
||||
# Wählen Sie Option 1 für schnelle Installation
|
||||
```
|
||||
|
||||
### 2. Service-Status prüfen
|
||||
```bash
|
||||
# HTTP-Backend Service
|
||||
sudo systemctl status myp-https
|
||||
|
||||
# Sollte zeigen: "Active: active (running)"
|
||||
```
|
||||
|
||||
### 3. Port-Verfügbarkeit testen
|
||||
```bash
|
||||
# Port 5000 sollte offen sein
|
||||
sudo ss -tlnp | grep :5000
|
||||
|
||||
# Erwartete Ausgabe: tcp LISTEN 0.0.0.0:5000
|
||||
```
|
||||
|
||||
### 4. Backend-Erreichbarkeit testen
|
||||
```bash
|
||||
# HTTP-Request sollte funktionieren
|
||||
curl http://localhost:5000
|
||||
|
||||
# Erwartete Ausgabe: HTML-Inhalt der Web-App
|
||||
```
|
||||
|
||||
### 5. Kiosk-Browser manuell testen
|
||||
```bash
|
||||
# Starte X-Server (falls nicht läuft)
|
||||
sudo systemctl start lightdm
|
||||
|
||||
# Wechsle zum Kiosk-User
|
||||
sudo su - kiosk
|
||||
|
||||
# Teste Browser-Start manuell
|
||||
DISPLAY=:0 chromium --kiosk http://localhost:5000
|
||||
```
|
||||
|
||||
### 6. Automatischer Kiosk-Service testen
|
||||
```bash
|
||||
# Kiosk-Service starten
|
||||
sudo systemctl start myp-kiosk
|
||||
|
||||
# Status prüfen
|
||||
sudo systemctl status myp-kiosk
|
||||
|
||||
# Logs verfolgen
|
||||
sudo journalctl -u myp-kiosk -f
|
||||
```
|
||||
|
||||
## 🎯 Erwartete Ergebnisse:
|
||||
|
||||
### ✅ HTTP-Backend funktioniert:
|
||||
- Service startet ohne Fehler
|
||||
- Port 5000 ist erreichbar
|
||||
- `curl http://localhost:5000` zeigt HTML-Content
|
||||
- Keine SSL-Zertifikat-Fehler
|
||||
|
||||
### ✅ Kiosk-Browser funktioniert:
|
||||
- Chromium startet im Vollbild-Modus
|
||||
- Web-App lädt erfolgreich
|
||||
- Keine "Unreachable" Fehler mehr
|
||||
- Reaktionsfähige Benutzeroberfläche
|
||||
|
||||
### ✅ Automatischer Start funktioniert:
|
||||
- Kiosk-Service startet ohne Timeout
|
||||
- Browser öffnet automatisch nach Boot
|
||||
- Backend ist verfügbar wenn Browser startet
|
||||
|
||||
## 🔍 Fehlerbehebung:
|
||||
|
||||
### Problem: Service startet nicht
|
||||
```bash
|
||||
# Debug-Informationen sammeln
|
||||
sudo systemctl status myp-https --no-pager -l
|
||||
sudo journalctl -u myp-https --no-pager -n 20
|
||||
```
|
||||
|
||||
### Problem: Port nicht erreichbar
|
||||
```bash
|
||||
# Prüfe welcher Prozess Port 5000 verwendet
|
||||
sudo lsof -i :5000
|
||||
sudo netstat -tlnp | grep :5000
|
||||
```
|
||||
|
||||
### Problem: Python-App Fehler
|
||||
```bash
|
||||
# Teste App manuell
|
||||
cd /opt/myp
|
||||
python3 app.py --production
|
||||
|
||||
# Prüfe Abhängigkeiten
|
||||
python3 -c "import flask; print('Flask verfügbar')"
|
||||
```
|
||||
|
||||
### Problem: Browser startet nicht
|
||||
```bash
|
||||
# Prüfe X-Server
|
||||
DISPLAY=:0 xset q
|
||||
|
||||
# Teste Browser-Installation
|
||||
which chromium || which chromium-browser
|
||||
|
||||
# Prüfe Kiosk-User
|
||||
id kiosk
|
||||
ls -la /home/kiosk/.bashrc
|
||||
```
|
||||
|
||||
## 📊 Performance-Monitoring:
|
||||
|
||||
### HTTP-Backend Response-Zeit testen:
|
||||
```bash
|
||||
curl -w "Response time: %{time_total}s\n" -o /dev/null -s http://localhost:5000
|
||||
```
|
||||
|
||||
### Speicherverbrauch überwachen:
|
||||
```bash
|
||||
# Service-Speicherverbrauch
|
||||
sudo systemctl show myp-https --property=MemoryCurrent
|
||||
|
||||
# System-Speicher
|
||||
free -h
|
||||
```
|
||||
|
||||
### CPU-Belastung prüfen:
|
||||
```bash
|
||||
# Service-CPU-Verbrauch
|
||||
sudo systemctl show myp-https --property=CPUUsageNSec
|
||||
|
||||
# Top-Prozesse
|
||||
top -p $(pgrep -f "myp\|chromium")
|
||||
```
|
||||
|
||||
## 🔄 Neustart-Test:
|
||||
|
||||
### Vollständiger Neustart-Test:
|
||||
```bash
|
||||
# 1. System neu starten
|
||||
sudo reboot
|
||||
|
||||
# 2. Nach Boot prüfen (ca. 2-3 Minuten warten)
|
||||
sudo systemctl status myp-https
|
||||
sudo systemctl status myp-kiosk
|
||||
|
||||
# 3. Browser sollte automatisch gestartet sein
|
||||
ps aux | grep chromium
|
||||
```
|
||||
|
||||
## ✨ Erfolgreiche Installation erkennen:
|
||||
|
||||
1. **HTTP-Backend läuft**: `systemctl status myp-https` zeigt "active"
|
||||
2. **Port erreichbar**: `curl http://localhost:5000` funktioniert
|
||||
3. **Kiosk startet**: Browser öffnet automatisch bei Login
|
||||
4. **Web-App lädt**: Keine "Unreachable" oder Timeout-Fehler
|
||||
5. **Stabile Verbindung**: Seite reagiert schnell und zuverlässig
|
||||
|
||||
## 🎉 Bei erfolgreichem Test:
|
||||
|
||||
Das Kiosk-System ist jetzt vollständig funktionsfähig:
|
||||
- ✅ Backend-Verbindungsprobleme behoben
|
||||
- ✅ Vereinfachte und robuste Architektur
|
||||
- ✅ Wartungsfreier Betrieb möglich
|
||||
- ✅ Optimiert für Raspberry Pi
|
||||
|
||||
Die Web-App sollte jetzt zuverlässig im Kiosk-Modus laufen!
|
Reference in New Issue
Block a user