Felsöka vanliga problem med RoutningTroubleshooting common routing problems

I den här artikeln beskrivs hur du felsöker vanliga problem med routning som du kan använda för din Azure-konfiguration av front dörren.This article describes how to troubleshoot common routing problems that you might face for your Azure Front Door configuration.

503 svar från Azures front dörr efter några sekunder503 response from Azure Front Door after a few seconds

SymptomSymptom

  • Vanliga förfrågningar som skickas till din server del utan att gå igenom Azures front dörr lyckas.Regular requests sent to your backend without going through Azure Front Door are succeeding. Genom att gå via Azures front dörr resulterar vi i 503 fel svar.Going via Azure Front Door results in 503 error responses.
  • Problemet från Azures front dörr visar vanligt vis efter cirka 30 sekunder.The failure from Azure Front Door typically shows after about 30 seconds.

OrsakCause

Orsaken till det här problemet kan vara något av två saker:The cause of this problem can be one of two things:

  • Server delen tar längre tid än den konfigurerade tids gränsen (Standardvärdet är 30 sekunder) för att ta emot begäran från Azures front dörr.Your backend is taking longer than the timeout configured (default is 30 seconds) to receive the request from Azure Front Door.
  • Den tid det tar att skicka ett svar till begäran från Azure-frontend tar längre tid än tids gräns värdet.The time it takes to send a response to the request from Azure Front Door is taking longer than the timeout value.

FelsökningsanvisningarTroubleshooting steps

  • Skicka begäran till Server delen direkt (utan att gå igenom Azures front dörr).Send the request to your backend directly (without going through Azure Front Door). Se hur lång tid det tar för din server del att svara.See how long your backend usually takes to respond.
  • Skicka begäran via Azures front dörr och se om du får 503 svar.Send the request via Azure Front Door and see if you're getting any 503 responses. Om inte, kanske problemet inte är ett timeout-problem.If not, the problem might not be a timeout issue. Kontakta supporten.Contact support.
  • Om du går igenom Azures front dörr resulterar du i en 503-fel svars kod, konfigurerar du sendReceiveTimeout fältet för Azure-frontend.If going through Azure Front Door results in a 503 error response code, configure the sendReceiveTimeout field for Azure Front Door. Du kan utöka standard tids gränsen upp till 4 minuter (240 sekunder).You can extend the default timeout up to 4 minutes (240 seconds). Inställningen är under backendPoolSettings och kallas sendRecvTimeoutSeconds .The setting is under backendPoolSettings and is called sendRecvTimeoutSeconds.

Begär Anden som skickas till den anpassade domänen returnerar status koden 400Requests sent to the custom domain return a 400 status code

SymptomSymptom

  • Du har skapat en instans av Azures frontend-dörr, men en begäran till domänen eller klient dels värden returnerar en HTTP 400-status kod.You created an Azure Front Door instance, but a request to the domain or frontend host is returning an HTTP 400 status code.
  • Du har skapat en DNS-mappning för en anpassad domän till den klient dels värd som du konfigurerade.You created a DNS mapping for a custom domain to the frontend host that you configured. Men om du skickar en begäran till det anpassade domän värd namnet returneras en HTTP 400-status kod.However, sending a request to the custom domain host name returns an HTTP 400 status code. Den visas inte för att dirigera till den server del som du har konfigurerat.It doesn't appear to route to the backend that you configured.

OrsakCause

Problemet uppstår om du inte har konfigurerat en regel för routning för den anpassade domänen som har lagts till som klient dels värd.The problem occurs if you didn't configure a routing rule for the custom domain that was added as the frontend host. En regel för routning måste läggas till explicit för den klient dels värden.A routing rule needs to be explicitly added for that frontend host. Det är sant även om en routningsregler redan har kon figurer ATS för klient dels värden under under domänen Azure frontend-dörr (*. azurefd.net).That's true even if a routing rule has already been configured for the frontend host under the Azure Front Door subdomain (*.azurefd.net).

FelsökningsanvisningarTroubleshooting steps

Lägg till en routningsprincip för den anpassade domänen för att dirigera trafik till den valda backend-poolen.Add a routing rule for the custom domain to direct traffic to the selected backend pool.

Azures front dörr omdirigerar inte HTTP till HTTPSAzure Front Door doesn't redirect HTTP to HTTPS

SymptomSymptom

Azures front dörr har en regel för routning som omdirigerar HTTP till HTTPS, men åtkomst till domänen upprätthåller HTTP som protokoll.Azure Front Door has a routing rule that redirects HTTP to HTTPS, but accessing the domain still maintains HTTP as the protocol.

OrsakCause

Det här problemet kan inträffa om du inte konfigurerade routningsregler korrekt för Azures front dörr.This behavior can happen if you didn't configure the routing rules correctly for Azure Front Door. Den aktuella konfigurationen är i princip inte särskilt speciell och kan ha motstridiga regler.Basically, your current configuration isn't specific and might have conflicting rules.

FelsökningsanvisningarTroubleshooting steps

Begäran till en klient dels värd namn returnerar en 404-status kodRequest to a frontend host name returns a 404 status code

SymptomSymptom

Du har skapat en instans av Azures frontend-dörr genom att konfigurera en klient dels värd, en backend-pool med minst en server del i den och en routningsprincip som ansluter klient dels värden till backend-poolen.You created an Azure Front Door instance by configuring a frontend host, a backend pool with at least one backend in it, and a routing rule that connects the frontend host to the backend pool. Ditt innehåll är inte tillgängligt när du gör en begäran till den konfigurerade klient dels värden.Your content isn't available when you make a request to the configured frontend host. Därför returnerar begäran en HTTP 404-status kod.As a result, the request returns an HTTP 404 status code.

OrsakCause

Det finns flera möjliga orsaker till det här problemet:There are several possible causes for this symptom:

  • Server delen är inte en offentlig Server del och är inte synlig för Azures front dörr.The backend isn't a public-facing backend and isn't visible to Azure Front Door.
  • Server delen är felkonfigurerad, vilket gör att Azure-fronten kan skicka fel förfrågan.The backend is misconfigured, causing Azure Front Door to send the wrong request. Det innebär att Server delen bara accepterar HTTP och att HTTPS inte tillåts.In other words, your backend accepts only HTTP and you haven't disallowed HTTPS. Så Azures front dörr försöker vidarebefordra HTTPS-begäranden.So Azure Front Door is trying to forward HTTPS requests.
  • Server delen avvisar värd rubriken som vidarebefordrades med begäran till Server delen.The backend is rejecting the host header that was forwarded with the request to the backend.
  • Konfigurationen för Server delen har ännu inte distribuerats fullständigt.The configuration for the backend hasn't yet been fully deployed.

FelsökningsanvisningarTroubleshooting steps

  • Kontrol lera distributions tiden:Check the deployment time:

    • Se till att du har väntat minst 10 minuter på att konfigurationen ska distribueras.Ensure that you've waited at least 10 minutes for the configuration to be deployed.
  • Kontrol lera Server dels inställningarna:Check the backend settings:

    • Gå till den backend-pool som begäran ska dirigeras till.Go to the backend pool that the request should be routing to. (Det beror på hur du har konfigurerat Routningsprincipen.) Verifiera att värd typen för Server delen och värd namnet för Server delen är korrekt.(It depends on how you have the routing rule configured.) Verify that the backend host type and backend host name are correct. Om Server delen är en anpassad värd kontrollerar du att du har stavat den korrekt.If the backend is a custom host, ensure that you've spelled it correctly.

    • Kontrol lera dina HTTP-och HTTPS-portar.Check your HTTP and HTTPS ports. I de flesta fall är 80 och 443 (respektive) korrekta och inga ändringar krävs.In most cases, 80 and 443 (respectively) are correct and no changes are required. Det finns dock en chans att din server del inte har kon figurer ATS på det här sättet och lyssnar på en annan port.However, there's a chance that your backend isn't configured this way and is listening on a different port.

    • Kontrol lera Server dels värd rubriken som kon figurer ATS för de Server delar som klient dels värden ska dirigeras till.Check the backend host header configured for the backends that the frontend host should be routing to. I de flesta fall ska den här rubriken vara samma som server dels värd namnet.In most cases, this header should be the same as the backend host name. Ett felaktigt värde kan dock orsaka olika status koder för HTTP-4xx om Server delen förväntar sig något annat.However, an incorrect value can cause various HTTP 4xx status codes if the backend expects something different. Om du anger en IP-adress för Server delen kan du behöva ange Server delens värd rubrik till Server delens värd namn.If you enter the IP address of your backend, you might need to set the backend host header to the host name of the backend.

  • Kontrol lera inställningarna för routningsregler:Check the routing rule settings:

    • Gå till regeln för routning som ska vidarebefordra från klient dels värdens namn i fråga till en backend-pool.Go to the routing rule that should route from the frontend host name in question to a backend pool. Kontrol lera att de godkända protokollen är korrekt konfigurerade när begäran vidarebefordras.Ensure that the accepted protocols are configured correctly when the request is forwarded. Fältet godtagna protokoll avgör vilka begär Anden som Azures front dörr ska godkänna.The Accepted protocols field determines which requests Azure Front Door should accept. Vidarebefordrings protokollet avgör vilken protokoll Azure-frontend ska använda för att vidarebefordra begäran till Server delen.The forwarding protocol determines what protocol Azure Front Door should use to forward the request to the backend.

      Om Server delen till exempel bara accepterar HTTP-förfrågningar, är följande konfigurationer giltiga:As an example, if the backend accepts only HTTP requests, the following configurations would be valid:

      • Godkända protokoll är HTTP och HTTPS.Accepted protocols are HTTP and HTTPS. Vidarebefordrings protokollet är HTTP.The forwarding protocol is HTTP. En matchnings förfrågan fungerar inte, eftersom HTTPS är ett tillåtet protokoll.A match request won't work, because HTTPS is an allowed protocol. Om en begäran kom in som HTTPS försöker Azure-frontend att vidarebefordra den med hjälp av HTTPS.If a request came in as HTTPS, Azure Front Door would try to forward it by using HTTPS.

      • Det accepterade protokollet är HTTP.The accepted protocol is HTTP. Vidarebefordrings protokollet är antingen en matchnings förfrågan eller HTTP.The forwarding protocol is either a match request or HTTP.

    • URL-omskrivning är inaktive rad som standard.Url Rewrite is disabled by default. Det här fältet används bara om du vill begränsa omfattningen av de Server dels värd resurser som du vill göra tillgängliga.This field is used only if you want to narrow the scope of backend-hosted resources that you want to make available. När det här fältet är inaktiverat vidarebefordrar Azure front dörren samma sökväg för begäran som den tar emot.When this field is disabled, Azure Front Door will forward the same request path that it receives. Det är möjligt att felaktigt konfigurera det här fältet.It's possible to misconfigure this field. Så när Azures front dörr begär en resurs från Server delen som inte är tillgänglig, returnerar den en HTTP 404-status kod.So when Azure Front Door is requesting a resource from the backend that isn't available, it will return an HTTP 404 status code.

Begäran till klient dels värd namnet returnerar en 411-status kodRequest to the frontend host name returns a 411 status code

SymptomSymptom

Du har skapat en Azure frontend-instans och konfigurerat en klient dels värd, en backend-pool med minst en server del i den och en routningsprincip som ansluter klient dels värden till backend-poolen.You created an Azure Front Door instance and configured a frontend host, a backend pool with at least one backend in it, and a routing rule that connects the frontend host to the backend pool. Ditt innehåll verkar inte vara tillgängligt när en begäran går till den konfigurerade klient dels värden eftersom en status kod för HTTP 411 returneras.Your content doesn't seem to be available when a request goes to the configured frontend host because an HTTP 411 status code is returned.

Svar på dessa förfrågningar kan också innehålla en HTML-felsida i svars texten som innehåller en för klar ande instruktion.Responses to these requests might also contain an HTML error page in the response body that includes an explanatory statement. Exempel: HTTP Error 411. The request must be chunked or have a content length.For example: HTTP Error 411. The request must be chunked or have a content length.

OrsakCause

Det finns flera möjliga orsaker till det här problemet.There are several possible causes for this symptom. Den övergripande orsaken är att HTTP-begäran inte är fullständigt RFC-kompatibel.The overall reason is that your HTTP request is not fully RFC-compliant.

Ett exempel på inkompatibilitet är en POST begäran som skickas utan något Content-Length eller en Transfer-Encoding rubrik (till exempel med curl -X POST https://example-front-door.domain.com ).An example of noncompliance is a POST request sent without either a Content-Length or a Transfer-Encoding header (for example, using curl -X POST https://example-front-door.domain.com). Den här begäran uppfyller inte kraven som anges i RFC 7230.This request doesn't meet the requirements set out in RFC 7230. Azures front dörr blockerar den med ett HTTP 411-svar.Azure Front Door would block it with an HTTP 411 response.

Det här beteendet skiljer sig från WAF-funktionerna i Azures front dörr.This behavior is separate from the Web Application Firewall (WAF) functionality of Azure Front Door. För närvarande finns det inget sätt att inaktivera det här beteendet.Currently, there's no way to disable this behavior. Alla HTTP-begäranden måste uppfylla kraven, även om WAF-funktionen inte används.All HTTP requests must meet the requirements, even if the WAF functionality is not in use.

FelsökningsanvisningarTroubleshooting steps

  • Kontrol lera att dina begär Anden uppfyller de krav som anges i de nödvändiga rapporterna.Verify that your requests comply with the requirements set out in the necessary RFCs.

  • Anteckna vilken HTML-meddelande text som returneras som svar på din begäran.Take note of any HTML message body that's returned in response to your request. En meddelande text förklarar ofta exakt hur din begäran är inkompatibel.A message body often explains exactly how your request is noncompliant.