2.0 KiB
2.0 KiB
SSL Setup für NinjaCross Server
1. Let's Encrypt SSL Zertifikat installieren
# Certbot installieren (Ubuntu/Debian)
sudo apt update
sudo apt install certbot python3-certbot-apache
# SSL Zertifikat anfordern
sudo certbot certonly --standalone -d ninja.reptilfpv.de
# Automatische Erneuerung einrichten
sudo crontab -e
# Füge hinzu: 0 12 * * * /usr/bin/certbot renew --quiet
2. Apache Module aktivieren
# Notwendige Apache Module aktivieren
sudo a2enmod ssl
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
sudo a2enmod headers
sudo a2enmod rewrite
# Apache neustarten
sudo systemctl restart apache2
3. VirtualHost konfigurieren
# SSL Konfiguration kopieren
sudo cp apache-ssl-config.conf /etc/apache2/sites-available/ninjaserver-ssl.conf
# Site aktivieren
sudo a2ensite ninjaserver-ssl.conf
# Standard-Site deaktivieren (optional)
sudo a2dissite 000-default.conf
# Apache Konfiguration testen
sudo apache2ctl configtest
# Apache neuladen
sudo systemctl reload apache2
4. Node.js Server anpassen (optional)
Ihr Node.js Server läuft weiterhin auf Port 3000 (localhost only). Optional können Sie den Server auf localhost binden:
// In server.js
server.listen(port, 'localhost', () => {
console.log(`🚀 Server läuft auf http://localhost:${port}`);
console.log(`🔒 HTTPS verfügbar über Apache Proxy`);
});
5. Firewall anpassen
# HTTPS Port öffnen
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
# Port 3000 nur für localhost (Sicherheit)
sudo ufw deny 3000
6. Testen
- Öffne https://ninja.reptilfpv.de
- Teste QR-Scanner → Kamera sollte funktionieren
- Prüfe SSL-Rating: https://www.ssllabs.com/ssltest/
Vorteile dieser Lösung:
✅ Automatische SSL-Erneuerung mit Let's Encrypt
✅ Hohe Performance durch Apache SSL-Terminierung
✅ Security Headers für zusätzlichen Schutz
✅ WebSocket Support für Live-Updates
✅ HTTP → HTTPS Redirect automatisch
✅ Kamera-Zugriff funktioniert in allen Browsern