Was ist ein Reverse Proxy?
Ein Reverse Proxy sitzt vor deinen Anwendungen und nimmt alle eingehenden Anfragen entgegen. Statt dass deine Node-App auf Port 3000 und deine Python-API auf Port 5000 direkt aus dem Internet erreichbar sind, leitet Nginx anhand von Domain oder Pfad an die richtige App weiter — und kümmert sich um SSL.
Wozu das gut ist
- Eine Domain, mehrere Apps: app.deine-domain.de und api.deine-domain.de auf demselben Server.
- Zentrales SSL: Let's Encrypt einmal an einer Stelle, nicht in jeder App.
- Saubere Ports: Nur 80/443 sind nach außen offen, die Apps laufen intern.
- Caching und Komprimierung an einer zentralen Stelle.
Grundkonfiguration
Eine minimale Reverse-Proxy-Config für eine App auf Port 3000:
server {
listen 80;
server_name app.deine-domain.de;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Die proxy_set_header-Zeilen sind wichtig, damit deine App die echte Client-IP und das richtige Protokoll kennt.
WebSockets unterstützen
Für Apps mit WebSockets (Chat, Live-Updates) ergänzt du:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
SSL mit Let's Encrypt
Sobald die Domain auf den Server zeigt, holst du das Zertifikat:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d app.deine-domain.de
Certbot trägt die SSL-Konfiguration automatisch in deinen Server-Block ein. Mehr dazu im SSL/HTTPS-Guide.
Nginx bei Nytrix
Auf jedem Nytrix-vServer installierst du Nginx mit einem Befehl. Beim No-IP-vServer läuft bereits ein Caddy-Reverse-Proxy vorgeschaltet — für eigene Reverse-Proxy-Setups mit voller Kontrolle eignet sich ein Tarif mit eigener IPv4.