Update
This commit is contained in:
89
ssl-setup-guide.md
Normal file
89
ssl-setup-guide.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# SSL Setup für NinjaCross Server
|
||||
|
||||
## 1. Let's Encrypt SSL Zertifikat installieren
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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:
|
||||
|
||||
```javascript
|
||||
// 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
Reference in New Issue
Block a user