De configuratie van inkomend verkeer aanpassen in Azure Spring Apps
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op:✅ Basic/Standard ✅ Enterprise
In dit artikel leest u hoe u de instellingen voor inkomend verkeer van een toepassing instelt en bijwerkt in Azure Spring Apps met behulp van Azure Portal en Azure CLI.
De Azure Spring Apps-service maakt gebruik van een onderliggende ingangscontroller voor het afhandelen van toepassingsverkeersbeheer. De volgende instellingen voor inkomend verkeer worden ondersteund voor aanpassing.
Naam | Instelling voor inkomend verkeer | Default value | Geldig bereik | Beschrijving |
---|---|---|---|---|
ingress-read-timeout |
proxy-read-timeout |
300 | [1,1800] | De time-out in seconden voor het lezen van een reactie van een proxied server. |
ingress-send-timeout |
proxy-send-timeout |
60 | [1,1800] | De time-out in seconden voor het verzenden van een aanvraag naar de geproxiede server. |
session-affinity |
affinity |
Geen |
Session , None |
Het type affiniteit waarmee de aanvraag wordt verzonden, komt naar dezelfde podreplica die op de vorige aanvraag reageerde. Ingesteld session-affinity op Cookie om sessieaffiniteit in te schakelen. Alleen in de portal moet u het vak Sessieaffiniteit inschakelen kiezen. |
session-max-age |
session-cookie-max-age |
0 | [0, 604800] | De tijd in seconden totdat de cookie verloopt, overeenkomstig de Max-Age cookierichtlijn. Als u deze optie instelt session-max-age op 0, is de verloopperiode gelijk aan de sessieperiode van de browser. |
backend-protocol |
backend-protocol |
Standaardinstelling | Standaard GRPC |
Hiermee stelt u het back-endprotocol in om aan te geven hoe NGINX moet communiceren met de back-endservice. Standaard betekent HTTP/HTTPS/WebSocket. De backend-protocol instelling is alleen van toepassing op client-naar-app-verkeer. Kies voor app-naar-app-verkeer binnen hetzelfde service-exemplaar een protocol voor app-naar-app-verkeer zonder de backend-protocol instelling te wijzigen. Het protocol beperkt uw keuze van protocol niet voor app-naar-app-verkeer binnen hetzelfde service-exemplaar. |
client-auth |
client-auth |
0 geselecteerd | - | Selecteer de certificaten met de openbare sleutel die u hebt geüpload in de TLS/SSL-instellingen. Ingress voegt deze certificaten samen in één en gebruikt deze vervolgens voor clientverificatie. |
Vereisten
Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Azure CLI met de Azure Spring Apps-extensie. Gebruik de volgende opdracht om eerdere versies te verwijderen en de nieuwste extensie te installeren. Als u de spring-cloud-extensie eerder hebt geïnstalleerd, verwijdert u deze om te voorkomen dat de configuratie en versie niet overeenkomen.
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
De configuratie voor inkomend verkeer instellen
Gebruik de volgende Azure CLI-opdracht om de configuratie voor inkomend verkeer in te stellen wanneer u maakt.
az spring app create \
--resource-group <resource-group-name> \
--service <service-name> \
--name <app-name> \
--ingress-read-timeout 300 \
--ingress-send-timeout 60 \
--session-affinity Cookie \
--session-max-age 1800 \
--backend-protocol Default \
--client-auth-certs <cert-id>
Notitie
De cert-id
waarde heeft de notatie /subscriptions/<your-sub-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AppPlatform/Spring/<service-name>/certificates/<cert-name>
. Gebruik de volgende opdracht om de cert-id
waarde op te halen: az spring certificate show --service <service-instance-name> --resource-group <resource-group-name> --name <certificate-name> --query id
Met deze opdracht maakt u een app met de volgende instellingen:
- Time-out voor lezen van inkomend verkeer: 300 seconden
- Time-out voor inkomend verzenden: 60 seconden
- Sessieaffiniteit: Cookie
- Maximale leeftijd sessie cookie: 1800 seconden
- Back-endprotocol: standaard
- Clientverificatie: certificaatnaam
De instellingen voor inkomend verkeer voor een bestaande app bijwerken
Gebruik de volgende stappen om de instellingen voor inkomend verkeer bij te werken voor een toepassing die wordt gehost door een bestaand service-exemplaar.
Meld u aan bij de portal met een account dat is gekoppeld aan het Azure-abonnement dat het Azure Spring Apps-exemplaar bevat.
Navigeer naar het deelvenster Apps en selecteer vervolgens de app die u wilt configureren.
Navigeer naar het deelvenster Configuratie en selecteer vervolgens het tabblad Instellingen voor inkomend verkeer.
Werk de instellingen voor inkomend verkeer bij en selecteer Opslaan.
Veelgestelde vragen
Hoe schakelt u gRPC in?
Stel het back-endprotocol in op GRPC.
Hoe schakelt u WebSocket in?
WebSocket is standaard ingeschakeld als u het back-endprotocol instelt op Standaard. De verbindingslimiet voor WebSocket is 20000. Wanneer u deze limiet bereikt, mislukt de verbinding.
U kunt ook RSocket gebruiken op basis van WebSocket.
Wat is het verschil tussen instellingen voor inkomend verkeer en inkomend verkeer?
De configuratie voor inkomend verkeer kan nog steeds worden gebruikt in de Azure CLI en SDK en die instelling is van toepassing op alle apps binnen het service-exemplaar. Nadat de instellingen voor inkomend verkeer een app hebben geconfigureerd, kan de configuratie voor inkomend verkeer er geen invloed op hebben. We raden niet aan dat nieuwe scripts toegangsbeheerobjectconfiguratie gebruiken, omdat we van plan zijn deze in de toekomst niet meer te ondersteunen.
Wanneer de instellingen voor inkomend verkeer samen met App Gateway/APIM worden gebruikt, wat gebeurt er wanneer u de time-out instelt in zowel inkomend verkeer van Azure Spring Apps als de App Gateway/APIM?
De kortere time-out wordt gebruikt.
Hebt u extra configuratie nodig in App Gateway/APIM als u end-to-end-ondersteuning voor gRPC of WebSocket nodig hebt?
U hebt geen extra configuratie nodig zolang de App Gateway gRPC ondersteunt.
Wordt configureerbare poort ondersteund?
Configureerbare poort wordt momenteel niet ondersteund (80/443).