HTTP X-Forwarded-Host Header

Der HTTP-Header X-Forwarded-Host ist ein Request-Header, der den ursprünglichen Host-Header transportiert, wenn Requests durch Reverse-Proxies oder Load-Balancer geleitet werden. Origin-Server verwenden ihn für korrekte absolute URL-Generierung und Virtual-Host-Routing.

Typ

Request-Header

Syntax

Der Header enthält den ursprünglichen Host-Wert.

http
X-Forwarded-Host: example.com
X-Forwarded-Host: api.example.com:8443

Direktiven

Die Direktiven definieren ursprünglichen Host mit optionalem Port.

hostname
Ursprünglicher Hostname aus Client-Request Host-Header.
hostname:port
Hostname mit explizitem Port wenn nicht Standard-Port (80/443).

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den X-Forwarded-Host-Header.

Beispiel 1 Reverse Proxy URL Rewrite

http
GET /api/users HTTP/1.1
Host: internal-api.local
X-Forwarded-Host: api.example.com
X-Forwarded-Proto: https

Nginx Reverse-Proxy leitet externen Request an internen Server, bewahrt ursprünglichen Host für URL-Generation.

Beispiel 2 Load Balancer Multi-Tenant

http
GET /dashboard HTTP/1.1
Host: backend-01.internal
X-Forwarded-Host: tenant1.saas.example.com
X-Forwarded-For: 203.0.113.42

SaaS Load-Balancer routet Request zu Backend-Server, bewahrt Tenant-Hostname für Virtual-Host-Logik.

Beispiel 3 CDN Origin Pull

http
GET /static/app.js HTTP/1.1
Host: origin.example.com
X-Forwarded-Host: cdn.example.com
User-Agent: CloudFlare

CDN fetcht Ressource von Origin-Server, überträgt CDN-Hostname für Cache-Key-Generierung.

Vorteile für die Systemarchitektur

  • Korrekte URL-Generation: Backend-Services generieren absolute URLs mit externem Hostname statt internem
  • Virtual-Host-Routing: Single Backend-Server kann Requests für multiple Domains unterscheiden
  • HTTPS-Link-Integrität: Generierte Links verwenden https:// Schema bei X-Forwarded-Proto: https

Spezifikation

RFC 7239 – Forwarded HTTP Extension https://www.rfc-editor.org/rfc/rfc7239.html

Weitere Spezifikationen

X-Forwarded-For Header, Forwarded Header, Host Header