Share via


Az Azure Front Door gyakori problémá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

Hibajelenség

  • 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.

    Megjegyzé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.

    Screenshot of the origin timeout settings on the overview page of the Azure Front Door profile.

  • 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 a forráson 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.

    Screenshot that shows the Accept-Encoding rule in a rule set.

503 válasz az Azure Front Doortól csak HTTPS-hez

Hibajelenség

  • 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érkészlet egy IP-cím.
  • A háttérkiszolgáló olyan tanúsítványt ad vissza, amely nem felel meg az Azure Front Door háttérkészlet teljes tartománynevének.
  • A háttérkészlet egy Azure Web Apps-kiszolgáló.

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

  • A háttérkészlet 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érkészlet gazdagépének 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.

      Screenshot that shows the toggle button.

      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.

      Screenshot of the certificate subject name validation checkbox.

  • A háttérkiszolgáló olyan tanúsítványt ad vissza, amely nem felel meg az Azure Front Door háttérkészlet 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érkészlet egy Azure Web Apps-kiszolgáló:

    • Ellenőrizze, hogy az Azure-webalkalmazás SNI-alapú helyett IP-alapú SSL-vel van-e konfigurálva. 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

Hibajelenség

  • 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 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

Hibajelenség

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

Hibajelenség

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.

Hibajelenség

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 hibát az alábbi okok valamelyike okozhatja:

  • A tanúsítványnév-ellenőrzés engedélyezve van a Front Door forráskonfigurációjában. Javasoljuk, hogy hagyja engedélyezve ezt a beállítást. A tanúsítványnév-ellenőrzéshez a forrás gazdagép nevének meg kell egyeznie a tanúsítvány nevével vagy a tulajdonos alternatív nevek bővítményének egyik bejegyzésével.
  • Ha a tanúsítványnév-ellenőrzés le van tiltva, akkor az ok oka valószínűleg az, hogy a forrástanúsítvány logikája elutasít minden olyan kérést, amely nem rendelkezik érvényes gazdagépfejléccel a kérelemben, amely megfelel a tanúsítványnak.

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.

Következő lépések