Vytvoření vlastních chybových stránek služby Application Gateway

Služba Application Gateway umožňuje vytvářet přizpůsobené chybové stránky místo zobrazení výchozích chybových stránek. Značky a rozložení můžete použít pro chyby související s různými kódy odpovědí. Mezi scénáře nastavení vlastních chybových stránek patří:

  • Zobrazení stránky údržby nebo stavu pro kód odpovědi 502 – Chybná brána To je užitečné, když vaše aplikační brána nemá žádný back-endový server pro směrování provozu během plánované údržby nebo nepředvídatelný problém se servery back-endového fondu.
  • Zobrazuje přizpůsobenou neautorizovaný přístupový stránku pro kód odpovědi 403 Zakázáno, ke kterému dochází, když je WAF v režimu prevence a blokuje škodlivý provoz.
  • Zobrazení stránky firemní značky s kontaktními údaji v případě problému

Podporované kódy odpovědí

Vlastní chybové stránky jsou podporovány pro následující kódy odpovědí:

Kód odpovědi Popis
400 Chybný požadavek (ve verzi Preview)
403 Zakázáno
405 Metoda není povolená (ve verzi Preview)
408 Časový limit požadavku (ve verzi Preview)
500 Vnitřní chyba serveru (ve verzi Preview)
502 Chybná brána
503 Služba není dostupná (ve verzi Preview)
504 Časový limit brány (ve verzi Preview)

Poznámka:

  • Rozhraní API verze 2022-09-01 nebo novější by se mělo použít ke konfiguraci chybových stránek pro nové kódy odpovědí (ve verzi Preview).
  • Kód odpovědi 404 (Stránka nebyla nalezena) je momentálně nepodporovaný.
  • Vlastní chybové stránky se zobrazují pro kódy odpovědí vygenerované službou Application Gateway. Pokud chyba pochází z back-endového serveru, předá se klientovi bez úprav.

Úrovně konfigurace

Vlastní chybové stránky je možné definovat na globální úrovni nebo naslouchacího procesu:

  • Globální úroveň – Chybové stránky nastavené na globální úrovni se použijí pro všechny naslouchací procesy této aplikační brány. Jeho konfigurace prostřednictvím webu Azure Portal se v současné době nepodporuje.
  • Úroveň naslouchacího procesu – Chybové stránky na úrovni naslouchacího procesu poskytují podrobné řízení pro nastavení chybových stránek pro aplikaci obsluhované tímto naslouchacím procesem.

Poznámka:

Při použití kombinace chybových stránek na úrovni globálního a naslouchacího procesu pro bránu musíte explicitně zmínit adresy URL pro všechny požadované kódy odpovědí pro tento naslouchací proces. Konfigurace specifická pro naslouchací proces přepíše všechny předchozí globální konfigurace použitelné pro tento naslouchací proces.

Požadavky

Pokud chcete vytvořit vlastní chybovou stránku, měli byste

  • znát kód odpovědi, pro který je potřeba vlastní chybová stránka.
  • znát odpovídající vzdálené umístění (URL) pro stránku HTML. Musí se jednat o veřejně přístupný soubor.
  • zajistěte, aby byla chybová stránka veřejně přístupná a vrátila odpověď 200.
  • ujistěte se, že chybová stránka by měla být v příponě *.htm nebo *.html.
  • zajistěte, aby velikost stránky byla menší než 1 MB.

Pro tento soubor HTML můžete odkazovat na interní nebo externí obrázky nebo šablony stylů CSS. V případě odkazování na externí prostředky používejte veřejně přístupné absolutní adresy URL. Při použití vložených obrázků s kódováním Base64, JavaScriptu nebo CSS mějte na paměti velikost souboru HTML.

Poznámka:

  • V ekosystému Azure musíte k hostování chybové stránky použít účet služby Azure Blob Storage nebo virtuální počítač Azure. Všimněte si, že úložiště objektů blob by mělo být přímo přístupné, protože účty úložiště frontované službami Azure CDN se v současné době nepodporují.
  • Můžete se také rozhodnout hostovat chybové stránky v libovolném vzdáleném umístění.
  • Relativní odkazy nejsou podporovány.

Jak to funguje?

Jakmile v konfiguraci služby Application Gateway zadáte chybovou stránku, brána ověří připojení ke stránce HTML přes internet. Potom soubor stáhne do místní mezipaměti.

Když se klient setká s chybou, služba Application Gateway vrátí kód odpovědi a tuto stránku HTML. Všechny externě odkazované prostředky (například obrázky, javascriptové soubory a soubory CSS) se načítají přímo klientem.

Vaše aplikační brána pravidelně nekontroluje umístění zdrojového souboru, aby se načítá nová verze. Pokud chcete ručně aktualizovat mezipaměť souboru, můžete na bráně provést jakoukoli aktualizaci konfigurace. Můžete například změnit adresu URL chyby ze stránky 1 na stránku 2 a potom zpátky na stránku 1 nebo po přidání nového naslouchacího procesu.

Konfigurace portálu

Postup konfigurace vlastních chybových stránek specifických pro naslouchací proces:

  1. Na portálu přejděte do služby Application Gateway a zvolte požadovaný prostředek.

  2. Vyberte Naslouchací procesy a přejděte na konkrétní naslouchací proces, pro který chcete zadat chybovou stránku.

  3. V části Vlastní chybové stránky zadejte veřejně přístupné adresy URL požadovaných stavových kódů.

  4. Zvolte Uložit.

    Screenshot of Application Gateway custom error page.

Konfigurace Azure PowerShellu

Pomocí Azure PowerShellu můžete nakonfigurovat vlastní chybovou stránku. Například globální vlastní chybová stránka:

$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

Nebo chybová stránka na úrovni naslouchacího procesu:

$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

Další informace najdete v tématu Add-AzApplicationGatewayCustomError a Add-AzApplicationGatewayHttpListenerCustomError.

Další kroky

Informace o diagnostice služby Application Gateway najdete v tématu Stav back-endu, diagnostické protokoly a metriky služby Application Gateway.