open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Host

Nginx: und wie richte ich ihn als Reverse-Proxy ein

Autor
Nginx: und wie richte ich ihn als Reverse-Proxy ein

Wenn es um leistungsstarke, zuverlässige und gleichzeitig ressourcenschonende Webserver geht, fällt der Name Nginx (ausgesprochen „Engine-X“) fast immer. Doch Nginx ist nicht nur ein Webserver – er ist auch ein exzellenter Reverse-Proxy, also ein Vermittler zwischen dem Internet und internen Diensten wie APIs, Apps oder Containerdiensten.

In diesem Artikel erfährst du:

  • Was Nginx ist und wofür man es verwendet
  • Wie du Nginx installierst
  • Wie du ihn als Reverse-Proxy konfigurierst
  • Und wie du eine lokale App (z. B. auf Port 3001) öffentlich verfügbar machst

Was ist Nginx?

Nginx ist ein freier, quelloffener Webserver, der häufig für folgende Anwendungsfälle verwendet wird:

  • Bereitstellung statischer Webseiten
  • Lastverteilung (Load Balancing)
  • Reverse-Proxy für interne Anwendungen
  • SSL/TLS-Terminierung
  • Caching und Komprimierung

Was ist ein Reverse-Proxy?

Ein Reverse-Proxy ist ein Server, der Anfragen von außen entgegennimmt und sie intern weiterleitet – z. B. an einen Dienst auf localhost:3001.

Vorteile:

  • Sicherheit (Schutz der internen Struktur)
  • SSL-Zertifikate zentral verwalten
  • Performance durch Caching
  • Skalierung durch Lastverteilung

Installation von Nginx

Für Debian/Ubuntu:

sudo apt update
sudo apt install nginx

Starten & Aktivieren

sudo systemctl start nginx
sudo systemctl enable nginx

Überprüfung

Öffne deinen Browser: http://<deine-server-ip> Du solltest die Standard-Nginx-Seite sehen.

Reverse-Proxy konfigurieren – Beispiel: Weiterleitung an Port 3001

Angenommen, du betreibst eine App (z. B. Uptime Kuma) auf localhost:3001 und möchtest sie über https://example.com erreichbar machen.

1. Neue Konfigurationsdatei erstellen

sudo nano /etc/nginx/sites-available/kuma

Inhalt:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:3001;
        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;
    }
}

Du kannst später noch Let's Encrypt mit Certbot aktivieren (siehe unten).

🔗 2. Aktivieren der Konfiguration

sudo ln -s /etc/nginx/sites-available/kuma /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

HTTPS mit Let's Encrypt aktivieren

Installiere Certbot (nur beim ersten Mal nötig):

sudo apt install certbot python3-certbot-nginx

Zertifikat für example.com ausstellen:

sudo certbot --nginx -d example.com

Jetzt ist deine App unter https://example.com erreichbar – sicher und proxy-basiert.

Fazit

Mit Nginx kannst du im Handumdrehen lokale Anwendungen sicher und performant nach außen verfügbar machen. Ob du selbst entwickelte Apps, Admin-Panels oder Monitoring-Dashboards bereitstellst – Nginx als Reverse-Proxy ist eine bewährte und leichtgewichtige Lösung.