Gyakori útválasztási problémák elhárítása

Ez a cikk azt ismerteti, hogyan háríthatja el a gyakori útválasztási problémákat, amelyek a Azure Front Door előfordulhatnak.

503 válasz a Azure Front Door néhány másodperc után

Hibajelenség

  • A háttérnek küldött normál kérések sikeresek Azure Front Door nélkül. A hiba Azure Front Door 503 hibaüzenetet ad vissza.
  • A hiba általában Azure Front Door körülbelül 30 másodperc után jelenik meg.
  • Időszakos 503-as hibák a ErrorInfo: OriginInvalidResponse naplóval.

Ok

A probléma oka a következő három dolog egyike lehet:

  • A kérés fogadása több időt vesz igénybe, mint a konfigurált időtúllépés (az alapértelmezett érték: 30 másodperc) a Azure Front Door.
  • A kérésre adott válasz elküldését a Azure Front Door az időtúllépési értéknél több időt vesz igénybe.
  • Az ügyfél küldött egy bájttartomány-kérelmet a Accept-Encoding header következővel: (a tömörítés engedélyezve van).

Hibaelhárítási lépések

  • Küldje el a kérést közvetlenül a háttérnek (anélkül, hogy végig kellene Azure Front Door). Láthatja, hogy a háttér általában mennyi időt vesz igénybe a válaszhoz.

  • Küldje el a kérelmet a Azure Front Door, és nézze meg, hogy 503 választ kap-e. Ha nem, lehetséges, hogy a probléma nem időtúllépési probléma. Vegye fel a kapcsolatot az ügyfélszolgálattal.

  • Ha a kérések áthaladnak Azure Front Door 503-as hibaválasz-kódot, konfigurálja a Küldés/fogadás időtúllépése (másodpercben) beállítást a Azure Front Door. Az alapértelmezett időkorlátot legfeljebb 4 percre (240 másodpercre) hosszabbíthatja meg. A beállítás konfigurálható úgy, hogy a tervezőben Front Door a Gépház.

    Képernyőkép a tervezőben a küldés/fogadott időtúllépés Front Door mezőről.

  • Ha az időtúllépés nem oldja meg a problémát, egy olyan eszközzel, mint a Fiddler vagy a böngésző fejlesztői eszköze ellenőrzi, hogy az ügyfél bájttartomány-kérelmeket küld-e Accept-Encoding-fejlécekkel, ami azt jelenti, hogy a forrás eltérő tartalomhosszúságokkal válaszol. Ha igen, akkor letilthatja a tömörítést a forráson/Azure Front Door vagy létrehozhat egy szabálykészlet-szabályt, amely eltávolítja a bájttartomány-kérelmeket. accept-encoding

    Képernyőkép az elfogadás-kódolás szabályról a Szabálymotorban.

Az egyéni tartománynak küldött kérések 400-as állapotkódot ad vissza

Hibajelenség

  • Létrehozott egy Azure Front Door, de a tartományra vagy az előtere gazdagépre vonatkozó kérés HTTP 400-as állapotkódot ad vissza.
  • Létrehozott egy DNS-leképezést egy egyéni tartományhoz a konfigurált előtere-gazdagéphez. Ha azonban egy kérést küld az egyéni tartomány állomásnevének, a HTTP 400-as állapotkódot adja vissza. Úgy tűnik, hogy nem a konfigurált háttérhez irányít.

Ok

A probléma akkor merül fel, ha nem konfigurált útválasztási szabályt az előteres gazdagépként hozzáadott egyéni tartományhoz. Ehhez az előtere gazdagéphez explicit módon hozzá kell adni egy útválasztási szabályt. Ez akkor is igaz, ha már konfigurálva van útválasztási szabály az előtér-gazdagéphez a Azure Front Door (*.azurefd.net).

Hibaelhárítási lépések

Adjon hozzá egy útválasztási szabályt az egyéni tartományhoz, hogy a forgalmat a kiválasztott háttérkészlethez irányítsa.

Azure Front Door nem irányítja át a HTTP-t HTTPS-re

Hibajelenség

Azure Front Door rendelkezik egy olyan útválasztási s szabályt, amely a HTTP-t HTTPS-re irányítja át, de a tartomány elérése továbbra is a HTTP protokollt tartja fenn protokollként.

Ok

Ez a viselkedés akkor fordulhat elő, ha nem megfelelően konfigurálta az útválasztási szabályokat a Azure Front Door. A jelenlegi konfiguráció alapvetően nem specifikus, és ütköző szabályokkal is előfordulhat.

Hibaelhárítási lépések

Az előtere gazdagépnévre vonatkozó kérés 404-es állapotkódot ad vissza

Hibajelenség

Létrehozott egy Azure Front Door-példányt egy előteres gazdagép, egy háttérkészlet konfigurálásával, amely legalább egy háttérkészletet és egy olyan útválasztási szabályt konfigurált, amely az előtere gazdagépet a háttérkészlethez csatlakoztatja. A tartalom nem érhető el, amikor kérést ad a konfigurált előteres gazdagépnek. Ennek eredményeképpen a kérés egy HTTP 404-es állapotkódot ad vissza.

Ok

Ennek a jelenségnek számos lehetséges oka lehet:

  • A háttér nem nyilvános háttér, és nem látható a Azure Front Door.
  • A háttér helytelenül van konfigurálva, ezért Azure Front Door rossz kérést küldhet. Más szóval a háttér csak a HTTP-t fogadja el, a HTTPS-t pedig nem. Ezért Azure Front Door HTTPS-kéréseket próbál továbbítani.
  • A háttér nem fogadja el azt a gazdafejlécet, amely a kéréssel lett továbbítva a háttérnek.
  • A háttérkonfiguráció még nem lett teljesen üzembe helyezni.

Hibaelhárítási lépések

  • Az üzembe helyezési idő ellenőrzése:

    • Győződjön meg arról, hogy legalább 10 percet várt a konfiguráció üzembe helyezésére.
  • Ellenőrizze a háttérbeállításokat:

    • Ugrás arra a háttérkészletre, amelybe a kérésnek útválasztást kell kapnia. (Ez attól függ, hogyan van konfigurálva az útválasztási szabály.) Ellenőrizze, hogy helyes-e a háttér gazdagép típusa és a háttér gazdagépneve. Ha a háttér egy egyéni gazdagép, győződjön meg arról, hogy helyesen írta be.

    • Ellenőrizze a HTTP- és HTTPS-portokat. A legtöbb esetben a 80-as és a 443-as (helyes) érték helyes, és nincs szükség módosításra. Előfordulhat azonban, hogy a háttér nincs így konfigurálva, és egy másik porton figyel.

    • Ellenőrizze a háttér olyan háttér-kiszolgálókhoz konfigurált háttér-állomásfejlécét, amelyekhez az előteres gazdagépnek az útválasztást kell beállítania. A legtöbb esetben ennek a fejlécnek meg kell egy lennie a háttér gazdagép nevével. A helytelen értékek azonban különböző HTTP 4xx állapotkódokat okozhatnak, ha a háttér eltérőt vár. Ha beírja a háttérhálózat IP-címét, előfordulhat, hogy a háttér-állomásfejlécet a háttér gazdagépének nevére kell állítania.

  • Ellenőrizze az útválasztási szabály beállításait:

    • Ugrás arra az útválasztási szabályra, amely az adott előtere gazdanevét egy háttérkészlethez irányítja. Győződjön meg arról, hogy az elfogadott protokollok megfelelően vannak konfigurálva a kérés továbbításakor. Az Elfogadott protokollok mező határozza meg, hogy mely Azure Front Door fogadható el. A továbbítási protokoll határozza meg, Azure Front Door melyik protokollt kell használnia a kérés a háttérnek való továbbításhoz.

      Ha például a háttérkészlet csak HTTP-kéréseket fogad el, a következő konfigurációk érvényesek:

      • Az elfogadott protokollok a HTTP és a HTTPS. A továbbítási protokoll a HTTP. Egyezéses kérelem nem fog működni, mert a HTTPS egy engedélyezett protokoll. Ha egy kérés HTTPS-ként érkezett, Azure Front Door megpróbálná a HTTPS használatával továbbítani.

      • Az elfogadott protokoll a HTTP. A továbbítási protokoll egyezéses kérelem vagy HTTP.

    • Az URL-átírás alapértelmezés szerint le van tiltva. Ezt a mezőt csak akkor használja a program, ha szeretné leszűkíteni az elérhetővé tenni kívánt háttérben üzemeltetett erőforrások hatókörét. Ha ez a mező le van tiltva, Azure Front Door a rendszer ugyanazt a kérési útvonalat továbbítja, mint amit kapott. Ez a mező hibásan is konfigurálva lehet. Így amikor Azure Front Door erőforrást kér a háttértől, amely nem érhető el, EGY HTTP 404-es állapotkódot fog visszaadni.

Az előtere gazdanevére vonatkozó kérés 411-es állapotkódot ad vissza

Hibajelenség

Létrehozott egy Azure Front Door-példányt, és konfigurált egy előteres gazdagépet, egy háttérkészletet, benne legalább egy háttérkészletet, valamint egy útválasztási szabályt, amely az előtere gazdagépet a háttérkészlethez csatlakoztatja. Úgy tűnik, hogy a tartalom nem érhető el a konfigurált előteres gazdagépre való kéréskor, mert a rendszer HTTP 411-es állapotkódot ad vissza.

A kérelmekre adott válaszok egy magyarázó utasítást tartalmazó HTML-hibaoldalt is tartalmazhatnak a válasz törzsében. Példa: HTTP Error 411. The request must be chunked or have a content length.

Ok

Ennek a jelenségnek számos lehetséges oka lehet. A teljes ok az, hogy a HTTP-kérés nem teljesen RFC-kompatibilis.

Meg nem feledés például egy fejléc vagy fejléc nélkül POST Content-Length küldött kérés Transfer-Encoding (például a curl -X POST https://example-front-door.domain.com használatával). Ez a kérés nem felel meg az RFC 7230 szabványban meghatározott követelményeknek. Azure Front Door http 411-es válaszmal blokkolná.

Ez a viselkedés elkülönül a Web Application Firewall (WAF) funkcióitól Azure Front Door. Ezt a viselkedést jelenleg nem lehet letiltani. Minden HTTP-kérésnek meg kell felelnie a követelményeknek, még akkor is, ha a WAF funkció nincs használatban.

Hibaelhárítási lépések

  • Ellenőrizze, hogy a kérések megfelelnek-e a szükséges RFC-kben meghatározott követelményeknek.

  • Jegyezze fel a kérésre válaszul visszaadott HTML-üzenet törzsét. Az üzenet törzse gyakran elmagyarázza, hogy a kérés pontosan hogyan nem megfelelő.