Egyéni Application Gateway-hibalapok létrehozása

Az Application Gateway lehetővé teszi, hogy az alapértelmezettek megjelenítése helyett testreszabott hibaoldalakat hozzon létre. A különböző válaszkódokkal kapcsolatos hibákhoz használhatja a márkajelzést és az elrendezést. Az egyéni hibalapok beállításának néhány forgatókönyve a következő:

  • Karbantartási vagy állapotoldalt jelenít meg az 502 Bad Gateway hibakód esetén. Ez akkor hasznos, ha az alkalmazás átjárója nem rendelkezik háttér szerverrel a forgalom irányítására ütemezett karbantartás alatt vagy a háttérkészlet szerverek váratlan problémája esetén.
  • A testreszabott jogosulatlan hozzáférési oldal megjelenítése a 403 Tiltott válaszkódhoz, amely akkor lép életbe, ha a WAF megelőzési módban van, és blokkolja a rosszindulatú forgalmat.
  • Céges arculatú oldal megjelenítése, probléma esetén kapcsolattartási adatokkal.

Támogatott válaszkódok

Az egyéni hibalapok a következő válaszkódokhoz támogatottak:

Válaszkód Leírás
400 Hibás kérés
403 Forbidden
405 A metódus nem engedélyezett
408 Kérés-időtúllépés
500 Belső kiszolgálóhiba
502 Rossz átjáró
503 A szolgáltatás nem érhető el
504 Átjáró időkorlát túllépés

Feljegyzés

Ha egyéni hibaoldalakat üzemeltet az Azure Blob Storage-ben, a tárfióknak közvetlen internetes (nyilvános) hozzáférhetőséggel kell rendelkeznie, hogy az Application Gateway le tudja kérni a lapokat. Az egyéni hibalapok nem kézbesíthetők CDN-végpontról a tárfiók előtt – Az Application Gateway jelenleg nem támogatja a hibalapok CDN-URL-címekről való lekérését. Ha CDN-t használ a tárfiókjával, győződjön meg arról, hogy az Application Gateway közvetlenül, nem csak a CDN-en keresztül fér hozzá a tárfiókhoz.

  • Az API 2022-09-01-es vagy újabb verzióját kell használni az összes elérhető válaszkód hibaoldalainak konfigurálásához.
  • A 404-s válaszkód (az oldal nem található) jelenleg nem támogatott.
  • Az egyéni hibaoldalak megjelennek az Application Gateway által létrehozott válaszkódokra. Ha egy hiba a háttérkiszolgálóról származik, a rendszer nem módosítottan továbbítja azt az ügyfélnek.

Konfigurációs szintek

Az egyéni hibalapok Globális vagy Figyelőszinten definiálhatók.

  • Globális szint – A globális szinten beállított hibalapok az adott application gateway összes figyelőjén érvényesek lesznek. Az Azure Portalon keresztüli konfigurációja jelenleg nem támogatott.
  • Figyelőszint – A figyelő szintjén található hibalapok részletes vezérlést adnak a figyelő által kiszolgált alkalmazások hibaoldalainak beállításához.

Feljegyzés

Ha globális és figyelőszintű hibaoldalak kombinációját használja egy átjáróhoz, explicit módon meg kell említenie az adott figyelőhöz tartozó összes kívánt válaszkód URL-címét. A figyelőspecifikus konfiguráció felülbírálja az adott figyelőre vonatkozó összes korábbi globális konfigurációt.

Követelmények

Egyéni hibalap létrehozásához meg kell tennie a következőket.

  • ismerje meg azt a válaszkódot, amelyhez egyéni hibaoldalra van szükség.
  • a HTML-oldal megfelelő távoli helyének (URL-címének) ismerete. Ennek nyilvánosan elérhető fájlnak kell lennie.
  • Győződjön meg arról, hogy a hibaoldal nyilvánosan elérhető, és adjon vissza egy 200-as választ.
  • győződjön meg arról, hogy a hibalapnak *.htm vagy *.html kiterjesztéstípusúnak kell lennie.
  • győződjön meg arról, hogy az oldal mérete kisebb, mint 1 MB.
  • Győződjön meg arról, hogy a hálózati hozzáférési beállítások "minden hálózatról engedélyezve" értékre vannak állítva egy Azure Blob Storage-fiók használatakor.

Ehhez a HTML-fájlhoz belső vagy külső rendszerképekre/CSS-ekre is hivatkozhat. Külsőleg hivatkozott erőforrások esetén nyilvánosan elérhető abszolút URL-címeket használjon. Ügyeljen a HTML-fájl méretére base64 kódolású beágyazott rendszerképek, JavaScript vagy CSS használatakor.

Feljegyzés

  • Az Azure-ökoszisztémában egy Azure Blob Storage-fiókot vagy virtuális gépet kell használnia egy hibaoldal üzemeltetéséhez. Vegye figyelembe, hogy a Blob Storage-nak közvetlenül elérhetőnek kell lennie, mivel az Azure CDN-szolgáltatások által megnyitott tárfiókok jelenleg nem támogatottak.
  • Dönthet úgy is, hogy a hibaoldalakat bármely távoli helyen üzemelteti.
  • A relatív hivatkozások nem támogatottak.

Hogyan működik?

Miután megadott egy hibalapot az Application Gateway konfigurációjában, az átjáró ellenőrzi a HTML-laphoz való internetkapcsolatot az interneten keresztül. Ezután letölti a fájlt a helyi gyorsítótárba.

Ha egy ügyfél hibát tapasztal, az Application Gateway egy válaszkódot és egy HTML-lapot ad vissza. A külsőleg hivatkozott erőforrásokat (például képeket, JavaScript- és CSS-fájlokat) közvetlenül az ügyfél olvassa be.

Az application gateway nem ellenőrzi rendszeresen a forrásfájl helyét egy új verzió lekéréséhez. Az átjárón bármilyen konfigurációfrissítést végrehajthat a fájl gyorsítótárának manuális frissítéséhez. Például módosítsa a hiba URL-címét az 1. oldalról a 2. oldalra, majd térjen vissza az 1. oldalra, vagy új figyelő hozzáadásakor.

Portálkonfiguráció

A figyelőspecifikus egyéni hibalapok konfigurálásához szükséges lépések:

  1. Lépjen az Application Gatewayre a portálon, és válassza ki a szükséges erőforrást.

  2. Válassza a Figyelők lehetőséget, és keresse meg azt a figyelőt, amelyhez hibalapot szeretne megadni.

  3. Az Egyéni hibalapok szakaszban adja meg a nyilvánosan elérhető URL-címeket a szükséges állapotkódokhoz.

  4. Válassza a Mentés lehetőséget.

    Képernyőkép az Application Gateway egyéni hibaoldaláról.

Azure PowerShell-konfigurálás

Az Azure PowerShell használatával egyéni hibalapot konfigurálhat. Például egy globális egyéni hibalap:

$appgw   = Get-AzApplicationGateway -Name <app-gateway-name> -ResourceGroupName <resource-group-name>

$updatedgateway = Add-AzApplicationGatewayCustomError -ApplicationGateway $appgw -StatusCode HttpStatus502 -CustomErrorPageUrl "http://<website-url>"

Set-AzApplicationGateway -ApplicationGateway $appgw

Vagy egy figyelőszintű hibalap:

$appgw   = Get-AzApplicationGateway -Name <app-gateway-name> -ResourceGroupName <resource-group-name>

$listener01 = Get-AzApplicationGatewayHttpListener -Name <listener-name> -ApplicationGateway $appgw

$updatedlistener = Add-AzApplicationGatewayHttpListenerCustomError -HttpListener $listener01 -StatusCode HttpStatus502 -CustomErrorPageUrl "http://<website-url>"

Set-AzApplicationGateway -ApplicationGateway $appgw

További információ: Add-AzApplicationGatewayCustomError and Add-AzApplicationGatewayHttpListenerCustomError.

Következő lépések

Az Application Gateway diagnosztikával kapcsolatos információkért tekintse meg az Application Gateway háttérállapotát, diagnosztikai naplóit és metrikáit.