Ein Azure-Dienst, der eine optimierte Full-Stack-Web-App-Entwicklung ermöglicht.
Das ist eine gute Frage, denn Azure Static Web Apps hinter Azure Front Door sind beim Generieren von Redirect-URLs stark darauf angewiesen, dass der Header X-Forwarded-Host korrekt an den Backenddienst weitergegeben wird.
1. Wie du überprüfen kannst, ob AFD tatsächlich X-Forwarded-Host sendet
Am einfachsten kannst du eine Anfrage aus der Perspektive von Azure Front Door beobachten:
Öffne die Website in deinem Browser (oder löse den Redirect-/Login-Flow aus).
Erfasse die Netzwerkanfrage mit den Browser-Entwicklertools oder einem Tool wie curl.
Überprüfe die Request-Header, die dein Backend erreichen, insbesondere:
X-Forwarded-Host
(falls relevant) `X-Forwarded-For`
`X-Forwarded-Proto`
```**Wichtig:** Entscheidend ist, was der Backenddienst tatsächlich von Azure Front Door empfängt. Wenn `X-Forwarded-Host` fehlt oder mit einem unerwarteten Wert ankommt, verhält sich Azure Static Web Apps möglicherweise nicht wie vorgesehen.
### 2. Warum deine `staticwebapp.config.json` weiterhin wichtig ist
Bei **Azure Static Web Apps** im **Standard-Tarif** definiert der Abschnitt `forwardingGateway`, welche Werte in `X-Forwarded-Host` als gültig angesehen werden.
`allowedForwardedHosts` gibt an, welche Hostnamen Azure Static Web Apps aus dem Header `X-Forwarded-Host` beim Erstellen von Redirect-URLs verwenden darf.
Wenn der Headerwert nicht in dieser Liste enthalten ist, werden Anfragen zwar weiterhin erfolgreich verarbeitet, der Hostname wird jedoch ignoriert. Ein häufiges Symptom ist, dass Redirects oder Redirect-URLs auf den falschen Hostnamen verweisen.
In deinem Beispiel:
```json
"forwardingGateway": {
"allowedForwardedHosts": [
"afd-domain.z03.azurefd.net"
]
}
=> Stelle sicher, dass der tatsächliche Wert von X-Forwarded-Host genau mit diesem Hostnamen übereinstimmt, einschließlich des vollständigen Domänennamens.
3. Origin-/AFD-Hostnamenkonzept (Host Preservation)
Wenn du Hostnamenabweichungen, Redirect-Probleme oder Authentifizierungsschleifen im Zusammenhang mit /.auth oder anderen Redirects beobachtest, hängt das Problem häufig mit dem Host-Preservation-Verhalten von Reverse Proxys zusammen.
Für Azure Front Door empfiehlt Microsoft grundsätzlich, den ursprünglichen Hostnamen nach Möglichkeit beizubehalten.
Lasse den Origin Host Header leer (entspricht originHostHeader = null in ARM-Vorlagen), damit der ursprüngliche Hostname erhalten bleibt.
Das ist besonders wichtig, wenn deine Anwendung (oder die integrierten /.auth-Endpunkte) absolute Redirects erzeugt oder Hostnamen für Cookies und die URL-Generierung verwendet.
4. Könnte die Ursache in der Origin-Konfiguration liegen?
Sehr wahrscheinlich tritt einer der folgenden Fälle auf:
Der tatsächlich gesendete Wert von X-Forwarded-Host stimmt nicht mit dem in allowedForwardedHosts aufgeführten Wert überein, oder
Die Origin-Konfiguration von Azure Front Door verändert den Hostnamen so, dass Azure Static Web Apps den falschen Hostnamen verwendet.
Anhand deines Screenshots sehe ich, dass der Origin Host Header konfiguriert ist. Laut der Host-Preservation-Empfehlung ist es häufig sinnvoll, dieses Feld leer zu lassen (originHostHeader = null), wenn dein Ziel darin besteht, den ursprünglichen Hostnamen über den gesamten Request-Ablauf hinweg beizubehalten.
Vielen Dank.