Dela via


Anpassa ingresskonfigurationen i Azure Spring Apps

Den här artikeln gäller för: ✔️ Basic/Standard ✔️ Enterprise

Den här artikeln visar hur du ställer in och uppdaterar ett programs ingressinställningar i Azure Spring Apps med hjälp av Azure-portalen och Azure CLI.

Azure Spring Apps-tjänsten använder en underliggande ingresskontrollant för att hantera hantering av programtrafik. Följande ingressinställningar stöds för anpassning.

Name Ingressinställning Standardvärde Giltigt intervall beskrivning
ingress-read-timeout proxy-read-timeout 300 [1,1800] Tidsgränsen i sekunder för att läsa ett svar från en proxierad server.
ingress-send-timeout proxy-send-timeout 60 [1,1800] Tidsgränsen i sekunder för att skicka en begäran till den proxied servern.
session-affinity affinity Ingen Session, ingen Den typ av tillhörighet som gör att begäran kommer till samma poddreplik som svarade på den tidigare begäran. Ställ in session-affinity på Cookie för att aktivera sessionstillhörighet. Endast i portalen måste du välja rutan Aktivera sessionstillhörighet.
session-max-age session-cookie-max-age 0 [0, 604800] Tiden i sekunder tills cookien upphör att gälla, vilket motsvarar Max-Age cookiedirektivet. Om du anger session-max-age till 0 är förfalloperioden lika med webbläsarsessionsperioden.
backend-protocol backend-protocol Standardvärde Standard, GRPC Anger serverdelsprotokollet för att ange hur NGINX ska kommunicera med serverdelstjänsten. Standard innebär HTTP/HTTPS/WebSocket. Inställningen backend-protocol gäller endast för trafik från klient till app. För app-till-app-trafik i samma tjänstinstans väljer du valfritt protokoll för app-till-app-trafik utan att ändra inställningen backend-protocol . Protokollet begränsar inte ditt val av protokoll för app-till-app-trafik inom samma tjänstinstans.

Förutsättningar

  • En Azure-prenumeration. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

  • Azure CLI med Azure Spring Apps-tillägget. Använd följande kommando för att ta bort tidigare versioner och installera det senaste tillägget. Om du tidigare har installerat spring-cloud-tillägget avinstallerar du det för att undvika konfigurations- och versionsmatchningar.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    

Ange ingresskonfigurationen

Använd följande Azure CLI-kommando för att ange ingresskonfigurationen när du skapar.

az spring app create \
    --resource-group <resource-group-name> \
    --service <service-name> \
    --name <service-name> \
    --ingress-read-timeout 300 \
    --ingress-send-timeout 60 \
    --session-affinity Cookie \
    --session-max-age 1800 \
    --backend-protocol Default \

Det här kommandot skapar en app med följande inställningar:

  • Tidsgräns för ingressläsning: 300 sekunder
  • Tidsgräns för inkommande sändning: 60 sekunder
  • Sessionstillhörighet: Cookie
  • Maximal ålder för sessionscookie: 1 800 sekunder
  • Serverdelsprotokoll: Standard

Uppdatera ingressinställningarna för en befintlig app

Använd följande steg för att uppdatera ingressinställningarna för ett program som hanteras av en befintlig tjänstinstans.

  1. Logga in på portalen med ett konto som är associerat med Azure-prenumerationen som innehåller Azure Spring Apps-instansen.

  2. Gå till fönstret Appar och välj sedan den app som du vill konfigurera.

  3. Gå till fönstret Konfiguration och välj sedan fliken Ingress-inställningar .

  4. Uppdatera ingressinställningarna och välj sedan Spara.

    Screenshot of Azure portal Configuration page showing the Ingress settings tab.

Vanliga frågor

  • Hur aktiverar du gRPC?

    Ställ in serverdelsprotokollet på GRPC.

  • Hur aktiverar du WebSocket?

    WebSocket är aktiverat som standard om du anger serverdelsprotokollet till Standard. Anslutningsgränsen för WebSocket är 20000. När du når den gränsen misslyckas anslutningen.

    Du kan också använda RSocket baserat på WebSocket.

  • Vad är skillnaden mellan ingresskonfiguration och ingressinställningar?

    Ingresskonfiguration kan fortfarande användas i Azure CLI och SDK, och den inställningen gäller för alla appar i tjänstinstansen. När en app har konfigurerats av ingressinställningar påverkar inte ingresskonfigurationen den. Vi rekommenderar inte att nya skript använder ingresskonfiguration eftersom vi planerar att sluta stödja det i framtiden.

  • Vad händer när ingressinställningar används tillsammans med App Gateway/APIM när du anger tidsgränsen i både Azure Spring Apps-ingressen och App Gateway/APIM?

    Den kortare tidsgränsen används.

  • Behöver du extra konfiguration i App Gateway/APIM om du behöver stöd från slutpunkt till slutpunkt för gRPC eller WebSocket?

    Du behöver inte extra konfiguration så länge App Gateway stöder gRPC.

  • Stöds konfigurerbar port?

    Konfigurerbar port stöds inte för närvarande (80/443).

Nästa steg