Delen via


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.

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:

  1. Navigeer naar Application Gateway in de portal en kies de vereiste resource.

  2. Selecteer Listeners en navigeer naar een bepaalde listener waarvoor u een foutpagina wilt opgeven.

  3. Geef onder de sectie Aangepaste foutpagina's openbaar toegankelijke URL's op voor de vereiste statuscodes.

  4. Selecteer Opslaan.

    Screenshot of Application Gateway custom error page.

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.