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

Apache Reverse Proxy: Subdomain sauber auf internen Port weiterleiten

Autor
Apache Reverse Proxy: Subdomain sauber auf internen Port weiterleiten

Wenn Webanwendungen nicht direkt auf Port 80 oder 443 laufen, sondern z. B. auf 8081, ist ein Reverse Proxy die eleganteste Lösung. Apache nimmt dabei die Anfragen unter einer Domain entgegen und leitet sie intern an den gewünschten Port weiter – ganz ohne dass Nutzer davon etwas merken.

In diesem Beitrag zeige ich dir eine bewusst minimalistische, saubere Apache-VHost-Konfiguration, mit der todo.xyz.com intern auf localhost:8081 weitergeleitet wird.

Warum ein Reverse Proxy?

Ein Reverse Proxy ist sinnvoll, wenn:

  • deine Anwendung auf einem nicht-öffentlichen Port läuft (z. B. Node.js, Python, Go, Java),
  • mehrere Dienste über Subdomains erreichbar sein sollen,
  • du später HTTPS, Header oder Authentifizierung zentral steuern möchtest.

Im Gegensatz zu einem Redirect (301/302) bleibt die URL im Browser unverändert – Apache arbeitet vollständig im Hintergrund.

Voraussetzungen

Aktiviere zunächst die benötigten Apache-Module:

a2enmod proxy
a2enmod proxy_http
a2enmod headers
systemctl reload apache2

Ohne diese Module kann Apache keine HTTP-Weiterleitung als Reverse Proxy durchführen.

Apache-VHost: todo.xyz.com → localhost:8081

Datei anlegen:

/etc/apache2/sites-available/todo.xyz.com.conf

Inhalt:

<VirtualHost *:80>
    ServerName todo.xyz.com

    # Optional, aber empfohlen
    ServerAdmin webmaster@xyz.com

    ProxyPreserveHost On
    ProxyRequests Off

    # Weiterleitung auf Port 8081
    ProxyPass        / http://127.0.0.1:8081/
    ProxyPassReverse / http://127.0.0.1:8081/

    # Saubere Forwarded-Header
    RequestHeader set X-Forwarded-Proto "http"
    RequestHeader set X-Forwarded-Port "80"

    ErrorLog ${APACHE_LOG_DIR}/todo_xyz_com_error.log
    CustomLog ${APACHE_LOG_DIR}/todo_xyz_com_access.log combined
</VirtualHost>

Was passiert hier?

  • ProxyPreserveHost On Die Zielanwendung erhält weiterhin todo.xyz.com als Hostnamen.

  • ProxyPass / Alle Requests werden an 127.0.0.1:8081 durchgereicht.

  • X-Forwarded-* Header Wichtig für Frameworks, die Protokoll oder Port auswerten (z. B. Login-Redirects).

VHost aktivieren

a2ensite todo.xyz.com.conf
systemctl reload apache2

Ab diesem Moment ist die Subdomain aktiv.

DNS-Hinweis

Vergiss nicht den DNS-Eintrag:

todo.xyz.com → IP_deines_Apache-Servers

Ohne passenden DNS-Record erreicht keine Anfrage deinen Server.

Optional: HTTPS (kurzer Ausblick)

Diese Konfiguration ist bewusst HTTP-only, damit sie leicht verständlich bleibt.

Reverse Proxy oder Redirect?

Zum Schluss noch wichtig:

  • Reverse Proxy (dieser Beitrag): URL bleibt gleich, Apache leitet intern weiter.
  • Redirect (301/302): Browser wird sichtbar auf :8081 oder eine andere URL geschickt.

Mit dieser VHost-Datei bekommst du:

  • eine klare, wartbare Konfiguration
  • saubere Header für moderne Webapps
  • eine solide Basis für spätere HTTPS-Erweiterungen

Ideal für Self-Hosting, interne Tools und moderne Webservices.