- Veröffentlicht am
- • How2-Host
Apache Reverse Proxy: Subdomain sauber auf internen Port weiterleiten
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
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 OnDie Zielanwendung erhält weiterhintodo.xyz.comals Hostnamen.ProxyPass /Alle Requests werden an127.0.0.1:8081durchgereicht.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
:8081oder 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.