Files
Ninjaserver/ssl-setup-guide.md
2025-09-23 14:13:24 +02:00

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

  1. Öffne https://ninja.reptilfpv.de
  2. Teste QR-Scanner → Kamera sollte funktionieren
  3. 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