Aangepaste foutpagina's voor Application Gateway maken
Met Application Gateway kunt u aangepaste foutpagina's maken in plaats van standaardpagina's weer te geven. U kunt uw huisstijl en indeling gebruiken voor fouten met betrekking tot verschillende antwoordcodes. Sommige scenario's voor het instellen van aangepaste foutpagina's zijn
- Geeft een onderhouds- of statuspagina weer voor 502 Ongeldige gateway-antwoordcode. Dit is handig wanneer uw toepassingsgateway geen back-endserver heeft om verkeer te routeren tijdens gepland onderhoud of een onvoorzien probleem met back-endpoolservers.
- Een aangepaste pagina voor onbevoegde toegang weergeven voor 403 Verboden antwoordcode die optreedt wanneer de WAF zich in de preventiemodus bevindt en schadelijk verkeer blokkeert.
- Een bedrijfspagina met contactgegevens weergeven in het geval van een probleem.
Ondersteunde antwoordcodes
De aangepaste foutpagina's worden ondersteund voor de volgende antwoordcodes:
Antwoordcode | Beschrijving |
---|---|
400 | Ongeldige aanvraag (in preview) |
403 | Verboden |
405 | Methode is niet toegestaan (in preview) |
408 | Time-out aanvragen (in preview) |
500 | Interne serverfout (in preview) |
502 | Ongeldige gateway |
503 | Service is niet beschikbaar (in preview) |
504 | Time-out van gateway (in preview) |
Notitie
- API-versie 2022-09-01 of hoger moet worden gebruikt om foutpagina's te configureren voor de nieuwe antwoordcodes (in preview).
- Antwoordcode 404 (pagina niet gevonden) wordt momenteel niet ondersteund.
- De aangepaste foutpagina's worden weergegeven voor antwoordcodes die worden gegenereerd door Application Gateway. Als een fout afkomstig is van de back-endserver, wordt deze doorgegeven aan de client.
Configuratieniveaus
De aangepaste foutpagina's kunnen worden gedefinieerd op globaal of listenerniveau:
- Globaal niveau : de foutpagina's die op globaal niveau zijn ingesteld, worden toegepast op alle listeners van die toepassingsgateway. De configuratie via Azure Portal wordt momenteel niet ondersteund.
- Listenerniveau : de foutpagina's op listenerniveau bieden u gedetailleerde controle om foutpagina's in te stellen voor de toepassing die door die listener wordt geleverd.
Notitie
Wanneer u een combinatie van foutpagina's op globaal en listenerniveau voor een gateway gebruikt, moet u expliciet de URL's vermelden voor alle gewenste antwoordcodes voor die listener. Een listenerspecifieke configuratie overschrijft alle voorgaande globale configuraties die van toepassing zijn op die listener.
Vereisten
Als u een aangepaste foutpagina wilt maken, moet u
- de antwoordcode kennen waarvoor een aangepaste foutpagina nodig is.
- de bijbehorende externe locatie (URL) voor de HTML-pagina kennen. Dit moet een openbaar toegankelijk bestand zijn.
- zorg ervoor dat de foutpagina openbaar toegankelijk is en een 200-antwoord retourneert.
- zorg ervoor dat de foutpagina zich in *.htm of *.html extensietype moet bevinden.
- zorg ervoor dat het paginaformaat kleiner is dan 1 MB.
- zorg ervoor dat de instellingen voor netwerktoegang zijn ingesteld op Ingeschakeld vanuit alle netwerken wanneer u een Azure Blob Storage-account gebruikt.
U kunt verwijzen naar interne of externe afbeeldingen/CSS voor dit HTML-bestand. Gebruik voor resources waarnaar extern wordt verwezen absolute URL's die openbaar toegankelijk zijn. Houd rekening met de HTML-bestandsgrootte wanneer u met base64 gecodeerde inlineafbeeldingen, JavaScript of CSS gebruikt.
Notitie
- Binnen het Azure-ecosysteem moet u een Azure Blob Storage-account of virtuele machine gebruiken om een foutpagina te hosten. Houd er rekening mee dat blobopslag rechtstreeks toegankelijk moet zijn omdat opslagaccounts die worden fronteerd door Azure CDN-services momenteel niet worden ondersteund.
- U kunt er ook voor kiezen om de foutpagina's op een externe locatie te hosten.
- Relatieve koppelingen worden niet ondersteund.
Hoe werkt het?
Nadat u een foutpagina hebt opgegeven in de configuratie van uw toepassingsgateway, controleert uw gateway de verbinding met de HTML-pagina via internet. Vervolgens wordt het bestand gedownload in de lokale cache.
Wanneer een client een fout ondervindt, retourneert uw toepassingsgateway een antwoordcode en die HTML-pagina. Alle externe resources (zoals afbeeldingen, JavaScript en CSS-bestanden) worden rechtstreeks door de client opgehaald.
Uw toepassingsgateway controleert de locatie van het bronbestand niet periodiek om een nieuwe versie op te halen. U kunt elke configuratie-update op de gateway uitvoeren om de cache van het bestand handmatig bij te werken. Bijvoorbeeld het wijzigen van de fout-URL van pagina 1 in pagina 2 en vervolgens terug naar pagina 1, of bij het toevoegen van een nieuwe listener.
Portalconfiguratie
Stappen voor het configureren van listenerspecifieke aangepaste foutpagina's:
Navigeer naar Application Gateway in de portal en kies de vereiste resource.
Selecteer Listeners en navigeer naar een bepaalde listener waarvoor u een foutpagina wilt opgeven.
Geef onder de sectie Aangepaste foutpagina's openbaar toegankelijke URL's op voor de vereiste statuscodes.
Selecteer Opslaan.
Azure PowerShell-configuratie
U kunt Azure PowerShell gebruiken om een aangepaste foutpagina te configureren. Bijvoorbeeld een algemene aangepaste foutpagina:
$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
Of een foutpagina op listenerniveau:
$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
Zie Add-AzApplicationGatewayCustomError en Add-AzApplicationGatewayHttpListenerCustomError voor meer informatie.
Volgende stappen
Zie back-endstatus, diagnostische logboeken en metrische gegevens voor Application Gateway voor informatie over diagnostische gegevens van Application Gateway.