How2-Host

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

Was ist Nginx? Erfahre in diesem Blogartikel, wie du Nginx installierst und als Reverse-Proxy einrichtest. Inklusive Beispiel zur Weiterleitung an `localhost:3001` und HTTPS-Aktivierung mit Let's Encrypt.

1 min Lesezeit
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:

``bash sudo apt update sudo apt install nginx ``

Starten & Aktivieren

``bash sudo systemctl start nginx sudo systemctl enable nginx ``

Überprüfung

Öffne deinen Browser: http:// 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

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

Inhalt:

```nginx 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

``bash 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):

``bash sudo apt install certbot python3-certbot-nginx ``

Zertifikat für example.com ausstellen:

``bash 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.