Az Azure Front Door gyakori hibáinak elhárítása
Ez a cikk azt ismerteti, hogyan háríthatja el az Azure Front Door-konfigurációval kapcsolatos gyakori útválasztási problémákat.
Egyéb hibakeresési HTTP-fejlécek
Kérheti az Azure Front Doort, hogy adjon vissza további hibakeresési HTTP-válaszfejléceket. További információ: választható válaszfejlécek.
503 vagy 504 válasz az Azure Front Doortól néhány másodperc után
Tünet
- Az Azure Front Door használata nélkül küldött rendszeres kérések sikeresek. Az Azure Front Door 503 vagy 504 hibaválaszt eredményez.
- Az Azure Front Door meghibásodása általában körülbelül 30 másodperc után jelenik meg.
- Az időszakos 503-at jelző hibák az "ErrorInfo: OriginInvalidResponse" kifejezéssel jelennek meg.
Ok
A probléma oka három dolog egyike lehet:
- A forrás hosszabb időt vesz igénybe, mint az Azure Front Doortól érkező kérés fogadásához konfigurált időtúllépés. Az alapértelmezett időtúllépés 30 másodperc.
- Az Azure Front Doortól érkező kérésre adott válasz elküldéséhez szükséges idő hosszabb időt vesz igénybe, mint az időtúllépési érték.
- Az ügyfél küldött egy bájttartomány-kérelmet egy Accept-Encoding fejléccel, ami azt jelenti, hogy a tömörítés engedélyezve van.
Hibaelhárítási lépések
Közvetlenül az Azure Front Door használata nélkül küldje el a kérést a forrásnak. Nézze meg, hogy a származása általában mennyi ideig tart a válaszadáshoz.
Küldje el a kérést az Azure Front Dooron keresztül, és ellenőrizze, hogy 503 választ kap-e. Ha nem, előfordulhat, hogy a probléma nem időtúllépési probléma. Hozzon létre egy támogatási kérést a probléma további elhárításához.
Ha az Azure Front Dooron áthaladó kérések 503-at eredményeznek, akkor konfigurálja az Azure Front Door Origin-válasz időtúllépését . Az alapértelmezett időtúllépés 4 percre (240 másodpercre) növelhető. A beállítás konfigurálásához lépjen a Front Door-profil áttekintési oldalára. Válassza az Origin válasz időtúllépését, és adjon meg egy 16 és 240 másodperc közötti értéket.
Feljegyzés
Az Origin-válasz időtúllépésének konfigurálása csak az Azure Front Door Standard/Premium szolgáltatásban érhető el.
Ha az időtúllépés növelése nem oldja meg a problémát, használjon egy olyan eszközt, mint a Fiddler vagy a böngésző fejlesztői eszköze annak ellenőrzésére, hogy az ügyfél bájttartomány-kérelmeket küld-e Accept-Encoding fejlécekkel. Ha ezt a lehetőséget választja, az eltérő tartalomhosszúságú forráshoz vezet.
Ha az ügyfél bájttartomány-kérelmeket küld Accept-Encoding fejlécekkel, két lehetősége van. Az első lehetőség a tömörítés letiltása az eredeten vagy az Azure Front Dooron. A második lehetőség egy szabálykészlet-szabály létrehozása, amely eltávolítja az Accept-Encodingt a bájttartomány-kérelmek kéréséből.
503 válasz az Azure Front Doortól csak HTTPS-hez
Tünet
- Az 503 válasz csak az Azure Front Door HTTPS-kompatibilis végpontjaihoz lesz visszaadva.
- Az Azure Front Door használata nélkül küldött rendszeres kérések sikeresek. Ha az Azure Front Dooron keresztül halad, az 503-ra adott hibaválaszt eredményezi.
- Az időszakos 503-at jelző hibák az "ErrorInfo: OriginInvalidResponse" kifejezéssel jelennek meg.
Ok
A probléma oka három dolog egyike lehet:
- A háttérrendszer egy IP-cím.
- A háttérkiszolgáló olyan tanúsítványt ad vissza, amely nem egyezik az Azure Front Door háttérrendszer teljes tartománynevével (FQDN).
- A háttérrendszer egy Azure Web Apps-kiszolgáló.
Hibaelhárítási lépések
A háttérrendszer egy IP-cím.
EnforceCertificateNameCheck
le kell tiltani.Az Azure Front Doornak van egy kapcsolója.
EnforceCertificateNameCheck
Alapértelmezés szerint ez a beállítás engedélyezett. Ha engedélyezve van, az Azure Front Door ellenőrzi, hogy a háttérbeli gazdagép teljes tartományneve megegyezik-e a háttérkiszolgáló tanúsítványának nevével vagy a tulajdonos alternatív nevek bővítményének egyik bejegyzésével.Letiltás
EnforceCertificateNameCheck
az Azure Portalról:A portálon egy váltógombbal kapcsolhatja be vagy ki ezt a beállítást az Azure Front Door (klasszikus) Tervező paneljén.
Az Azure Front Door Standard és Prémium szintű verzió esetében ez a beállítás a forrásbeállítások között található, amikor forrást ad hozzá egy forráscsoporthoz vagy konfigurál egy útvonalat.
A háttérkiszolgáló olyan tanúsítványt ad vissza, amely nem felel meg az Azure Front Door háttérrendszer teljes tartománynevének. A probléma megoldásához két lehetősége van:
- A visszaadott tanúsítványnak meg kell egyeznie a teljes tartománynévvel.
-
EnforceCertificateNameCheck
le kell tiltani.
A háttérrendszer egy Azure Web Apps-kiszolgáló:
- Ellenőrizze, hogy az Azure-webalkalmazás ip-alapú SSL-vel van-e konfigurálva, nem pedig SNI-alapú (kiszolgálónév-jelzés). Ha a webalkalmazás IP-alapúként van konfigurálva, azt SNI-ra kell módosítani.
- Ha a háttérrendszer tanúsítványhiba miatt nem megfelelő, a rendszer 503-os hibaüzenetet ad vissza. Ellenőrizheti a háttérrendszer állapotát a 80-as és a 443-as porton. Ha csak a 443 nem megfelelő állapotú, valószínűleg az SSL-vel kapcsolatos probléma. Mivel a háttérrendszer az FQDN használatára van konfigurálva, tudjuk, hogy SNI-t küld.
Az OPENSSL használatával ellenőrizze a visszaadott tanúsítványt. Az ellenőrzés elvégzéséhez csatlakozzon a háttérrendszerhez a következő használatával
-servername
: . Visszaadja az SNI-t, amelynek meg kell egyeznie a háttérkészlet teljes tartománynevével:openssl s_client -connect backendvm.contoso.com:443 -servername backendvm.contoso.com
Az egyéni tartománynak küldött kérések 400-ás állapotkódot adnak vissza
Tünet
- Létrehozott egy Azure Front Door-példányt. A tartományra vagy az előtérbeli gazdagépre irányuló kérés egy HTTP 400-állapotkódot ad vissza.
- Létrehozott egy DNS-megfeleltetést (tartománynév-kiszolgálót) egy egyéni tartományhoz a konfigurált előtér-gazdagéphez. Ha kérést küld az egyéni tartomány gazdagépnevére, az egy HTTP 400-állapotkódot ad vissza. Úgy tűnik, hogy nem a konfigurált háttérrendszerre irányítja.
Ok
A probléma akkor fordul elő, ha nem konfigurálta az előtér-gazdagépként hozzáadott egyéni tartomány útválasztási szabályát. Explicit módon hozzá kell adni egy útválasztási szabályt az előtérbeli gazdagéphez. Akkor is létre kell hoznia a szabályt, ha már konfigurálva volt egy útválasztási szabály az előtér-gazdagéphez az Azure Front Door altartományban, amely *.azurefd.net.
Hibaelhárítási lépés
Adjon hozzá egy útválasztási szabályt az egyéni tartományhoz, amely a kijelölt forráscsoportba irányítja a forgalmat.
Az Azure Front Door nem irányítja át a HTTP-t HTTPS-hez
Tünet
Az Azure Front Doornak van egy útválasztási szabálya, amely a HTTP-t HTTPS-hez irányítja át, de a tartományhoz való hozzáférés továbbra is a HTTP protokollt tartja fenn.
Ok
Ez a viselkedés akkor fordulhat elő, ha nem megfelelően konfigurálta az útválasztási szabályokat az Azure Front Doorhoz. A jelenlegi konfiguráció nem specifikus, és ütköző szabályokkal rendelkezhet.
Hibaelhárítási lépések
Az előtérbeli gazdagép nevének kérése egy 411-ben megadott állapotkódot ad vissza
Tünet
Létrehozott egy Azure Front Door Standard/Premium-példányt, és konfigurálta a következőt:
- Egy előtérbeli gazdagép.
- Egy legalább egy forrással rendelkező forráscsoport.
- Útválasztási szabály, amely az előtérbeli gazdagépet a forráscsoporthoz köti.
Úgy tűnik, hogy a tartalom nem érhető el, amikor egy kérés a konfigurált előtér-gazdagépre kerül, mert a rendszer egy HTTP 411-állapotkódot ad vissza.
Az ezekre a kérelmekre adott válaszok egy HTML-hibalapot is tartalmazhatnak a válasz törzsében, amely magyarázó utasítást tartalmaz. Ilyen például a "HTTP-hiba 411. A kérésnek daraboltnak vagy tartalomhosszúságúnak kell lennie."
Ok
Ennek a tünetnek több oka is lehet. Ennek általános oka, hogy a HTTP-kérés nem teljes mértékben RFC-kompatibilis.
A meg nem felelési példák közé tartozik egy POST
tartalomhosszúság vagy átvitelkódoló fejléc nélkül küldött kérés. Ilyen lehet például a használata curl -X POST https://example-front-door.domain.com
. Ez a kérés nem felel meg az RFC 7230-ban meghatározott követelményeknek. Az Azure Front Door HTTP 411-válaszsal blokkolná. Az ilyen kérések nem lesznek naplózva.
Ez a viselkedés eltér az Azure Front Door webalkalmazási tűzfalának (WAF) funkciójától. Jelenleg nem lehet letiltani ezt a viselkedést. 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 tartományvezérlőkben meghatározott követelményeknek.
- Jegyezze fel a kérésre válaszul visszaadott HTML-üzenettörzset. Az üzenettörzs gyakran pontosan elmagyarázza, hogy a kérés nem megfelelő.
A forrásom IP-címként van konfigurálva.
Tünet
A forrás IP-címként van konfigurálva. A forrás kifogástalan, de elutasítja az Azure Front Door kéréseit.
Ok
Az Azure Front Door az SSL-kézfogás során SNI-fejlécként használja a forrás gazdagép nevét. Mivel a forrás IP-címként van konfigurálva, a hiba az alábbi okok egyike lehet:
- Ha a tanúsítványnév-ellenőrzés le van tiltva, lehetséges, hogy a probléma oka a forrástanúsítvány logikájában rejlik. Ez a logika elvethet minden olyan kérést, amely nem rendelkezik a tanúsítványnak megfelelő érvényes gazdagépfejléccel.
Hibaelhárítási lépések
Módosítsa a forrást IP-címről olyan teljes tartománynévre, amelyre érvényes tanúsítványt adnak ki, amely megfelel a forrástanúsítványnak.
429 válasz az Azure Front Doortól
Tünet
- A kérések egy százaléka a 429-ik válaszban megjelenő hibákat jeleníti meg: Túl sok kérés.
Ok
- Az Azure Front Door alapértelmezett platformdíjkorlátokkal rendelkezik. Ha a forgalom meghaladja a korlátot, az AFD megkezdi a forgalom korlátozását, és 429 választ ad vissza.
Hibaelhárítási lépések
- Ha 429-et lát a jogos forgalomhoz, és nagyobb kvótára van szükség, hozzon létre egy Azure-támogatás kérést.
Következő lépések
- A Front Door létrehozására vonatkozó információk.
- Tudnivalók a Front Door Standard/Prémium létrehozásáról.