Condividi tramite


Personalizzare la configurazione in ingresso in Azure Spring Apps

Questo articolo si applica a: ✔️ Basic/Standard ✔️ Enterprise

Questo articolo illustra come impostare e aggiornare le impostazioni di ingresso di un'applicazione in Azure Spring Apps usando il portale di Azure e l'interfaccia della riga di comando di Azure.

Il servizio Azure Spring Apps usa un controller di ingresso sottostante per gestire la gestione del traffico delle applicazioni. Per la personalizzazione sono supportate le impostazioni di ingresso seguenti.

Nome Impostazione in ingresso Valore predefinito Intervallo valido Descrizione
ingress-read-timeout proxy-read-timeout 300 [1,1800] Timeout in secondi per la lettura di una risposta da un server proxy.
ingress-send-timeout proxy-send-timeout 60 [1,1800] Timeout in secondi per la trasmissione di una richiesta al server proxy.
session-affinity affinity None Sessione, Nessuno Tipo di affinità che effettuerà la richiesta alla stessa replica pod che risponde alla richiesta precedente. Impostare session-affinity su Cookie per abilitare l'affinità di sessione. Solo nel portale è necessario scegliere la casella abilita affinità di sessione.
session-max-age session-cookie-max-age 0 [0, 604800] Tempo in secondi fino alla scadenza del cookie, corrispondente alla direttiva cookie Max-Age . Se si imposta su session-max-age 0, il periodo di scadenza è uguale al periodo di sessione del browser.
backend-protocol backend-protocol Valori predefiniti Impostazione predefinita, GRPC Imposta il protocollo back-end per indicare come NGINX deve comunicare con il servizio back-end. Il valore predefinito indica HTTP/HTTPS/WebSocket. L'impostazione backend-protocol si applica solo al traffico da client a app. Per il traffico da app a app all'interno della stessa istanza del servizio, scegliere qualsiasi protocollo per il traffico da app a app senza modificare l'impostazione backend-protocol . Il protocollo non limita la scelta del protocollo per il traffico da app a app all'interno della stessa istanza del servizio.

Prerequisiti

  • Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

  • Interfaccia della riga di comando di Azure con l'estensione Azure Spring Apps. Usare il comando seguente per rimuovere le versioni precedenti e installare l'estensione più recente. Se in precedenza è stata installata l'estensione spring-cloud, disinstallarla per evitare la mancata corrispondenza della configurazione e della versione.

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

Impostare la configurazione in ingresso

Usare il comando seguente dell'interfaccia della riga di comando di Azure per impostare la configurazione in ingresso al momento della creazione.

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 \

Questo comando crea un'app con le impostazioni seguenti:

  • Timeout di lettura in ingresso: 300 secondi
  • Timeout di invio in ingresso: 60 secondi
  • Affinità di sessione: Cookie
  • Validità massima cookie sessione: 1800 secondi
  • Protocollo back-end: impostazione predefinita

Aggiornare le impostazioni di ingresso per un'app esistente

Usare la procedura seguente per aggiornare le impostazioni di ingresso per un'applicazione ospitata da un'istanza del servizio esistente.

  1. Accedere al portale usando un account associato alla sottoscrizione di Azure che contiene l'istanza di Azure Spring Apps.

  2. Passare al riquadro App e quindi selezionare l'app da configurare.

  3. Passare al riquadro Configurazione e quindi selezionare la scheda Impostazioni ingresso.

  4. Aggiornare le impostazioni di ingresso e quindi selezionare Salva.

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

Domande frequenti

  • Come si abilita gRPC?

    Impostare il protocollo back-end su GRPC.

  • Come si abilita WebSocket?

    WebSocket è abilitato per impostazione predefinita se si imposta il protocollo back-end su Predefinito. Il limite di connessione WebSocket è 20000. Quando si raggiunge tale limite, la connessione avrà esito negativo.

    È anche possibile usare RSocket basato su WebSocket.

  • Qual è la differenza tra le impostazioni di configurazione in ingresso e ingresso?

    La configurazione in ingresso può comunque essere usata nell'interfaccia della riga di comando di Azure e nell'SDK e tale impostazione verrà applicata a tutte le app all'interno dell'istanza del servizio. Dopo che un'app è stata configurata dalle impostazioni di ingresso, la configurazione in ingresso non avrà alcun effetto. Non è consigliabile che i nuovi script usino la configurazione in ingresso perché si prevede di interrompere il supporto in futuro.

  • Quando le impostazioni di ingresso vengono usate insieme a Gateway app/GESTIONE API, cosa accade quando si imposta il timeout sia in ingresso di Azure Spring Apps che in Gateway app/Gestione API?

    Viene usato il timeout più breve.

  • È necessaria una configurazione aggiuntiva in Gateway app/Gestione API se è necessario disporre del supporto end-to-end per gRPC o WebSocket?

    Non è necessaria una configurazione aggiuntiva purché il gateway app supporti gRPC.

  • La porta configurabile è supportata?

    La porta configurabile non è attualmente supportata (80/443).

Passaggi successivi