Nginx als Reverse Proxy mit kostenlosem SSL-Zertifikat | XionHosting
Hilfe /Anleitungen /Nginx als Reverse Proxy mit kostenlosem SSL-Zertifikat

Nginx als Reverse Proxy mit kostenlosem SSL-Zertifikat

Eine Anwendung hinter Nginx stellen und per Let's Encrypt mit HTTPS absichern.

Aktualisiert 17.10.2026

Viele Anwendungen laufen auf einem internen Port, etwa Node.js auf 3000 oder ein Docker-Container auf 8080. Mit Nginx als Reverse Proxy erreichst du sie über deine Domain und mit HTTPS.

Besucher erreichen Nginx über HTTPS, Nginx leitet intern an die App auf Port 3000 weiter

Voraussetzungen

  • Ein A-Record deiner Domain zeigt auf die IP deines Servers.
  • Die Ports 80 und 443 sind offen (ufw allow 80/tcp, ufw allow 443/tcp).

1. Nginx installieren

apt install -y nginx

2. Seite anlegen

Lege /etc/nginx/sites-available/app.conf an:

server {
    listen 80;
    server_name app.example.com;

    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;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Aktivieren und prüfen:

ln -s /etc/nginx/sites-available/app.conf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

3. SSL-Zertifikat mit Let's Encrypt

apt install -y certbot python3-certbot-nginx
certbot --nginx -d app.example.com

Certbot trägt das Zertifikat ein, leitet HTTP auf HTTPS um und verlängert das Zertifikat automatisch. Ob die Verlängerung klappt, testest du mit certbot renew --dry-run.

Häufige Fehler

  • 502 Bad Gateway: Die Anwendung läuft nicht oder auf einem anderen Port. Prüfe mit ss -tlnp.
  • Certbot scheitert: Die Domain zeigt noch nicht auf den Server oder Port 80 ist zu.
Hat dir das geholfen?