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 *.htm nebo *.html typu rozšíření.
- zajistěte, aby velikost stránky byla menší než 1 MB.
- ujistěte se, že nastavení přístupu k síti je při použití účtu služby Azure Blob Storage nastavené na povolenou ze všech sítí.
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:
Na portálu přejděte do služby Application Gateway a zvolte požadovaný prostředek.
Vyberte Naslouchací procesy a přejděte na konkrétní naslouchací proces, pro který chcete zadat chybovou stránku.
V části Vlastní chybové stránky zadejte veřejně přístupné adresy URL požadovaných stavových kódů.
Zvolte Uložit.
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.