Anpassen der Eingangskonfiguration in Azure Spring Apps
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.
Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren vom Plan „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.
Dieser Artikel gilt für: ✔️ Basic/Standard ✔️ Enterprise
In diesem Artikel erfahren Sie, wie Sie die Eingangseinstellungen einer Anwendung in Azure Spring Apps mit dem Azure-Portal und der Azure CLI festlegen und aktualisieren.
Der Azure Spring Apps-Dienst verwendet einen zugrunde liegenden Eingangscontroller, um die Verwaltung des Anwendungsdatenverkehrs zu verarbeiten. Die folgenden Eingangseinstellungen lassen sich anpassen.
Name | Eingangseinstellung | Standardwert | Gültiger Bereich | Beschreibung |
---|---|---|---|---|
ingress-read-timeout |
proxy-read-timeout |
300 | [1,1800] | Das Timeout in Sekunden zum Lesen einer Antwort von einem Proxyserver. |
ingress-send-timeout |
proxy-send-timeout |
60 | [1,1800] | Das Timeout in Sekunden zum Übertragen einer Anforderung an den Server hinter dem Proxy. |
session-affinity |
affinity |
Keine | Session , None |
Der Typ der Affinität, der die Anforderung an dasselbe Podreplikat leitet, das auf die vorherige Anforderung reagiert hat. Legen Sie session-affinity auf „Cookie“ fest, um die Sitzungsaffinität zu aktivieren. Nur im Portal müssen Sie das Kontrollkästchen „Sitzungsaffinität aktivieren“ aktivieren. |
session-max-age |
session-cookie-max-age |
0 | [0, 604800] | Die Zeit in Sekunden, bis das Cookie abläuft, entsprechend der Max-Age -Cookieanweisung. Wenn Sie session-max-age auf 0 festlegen, entspricht der Ablaufzeitraum dem Browsersitzungszeitraum. |
backend-protocol |
backend-protocol |
Standard | Standardwert: GRPC . |
Legt für das Back-End-Protokoll fest, wie NGINX mit dem Back-End-Dienst kommunizieren soll. „Standard“ bedeutet HTTP/HTTPS/WebSocket. Die backend-protocol -Einstellung gilt nur für den Client-zu-App-Datenverkehr. Wählen Sie für den App-zu-App-Datenverkehr in derselben Dienstinstanz ein beliebiges Protokoll für App-to-App-Datenverkehr aus, ohne die backend-protocol -Einstellung zu ändern. Das Protokoll schränkt Ihre Protokollauswahl für den App-to-App-Datenverkehr innerhalb derselben Dienstinstanz nicht ein. |
client-auth |
client-auth |
0 ausgewählt | - | Wählen Sie die Zertifikate mit dem öffentlichen Schlüssel aus, den Sie in den TLS/SSL-Einstellungen hochgeladen haben. Beim Eingang werden diese Zertifikate in einem Zertifikat verkettet und dann für die Clientauthentifizierung verwendet. |
Voraussetzungen
Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Azure CLI mit der Azure Spring Apps-Erweiterung. Verwenden Sie den folgenden Befehl, um frühere Versionen zu entfernen und die neueste Erweiterung zu installieren. Wenn Sie zuvor die spring-cloud-Erweiterung installiert hatten, deinstallieren Sie diese Erweiterung, um Konfigurations- und Versionskonflikte zu vermeiden.
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Festlegen der Eingangskonfiguration
Verwenden Sie den folgenden Azure CLI-Befehl, um die Eingangskonfiguration beim Erstellen festzulegen.
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>
Hinweis
Das Format des Werts cert-id
ist /subscriptions/<your-sub-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AppPlatform/Spring/<service-name>/certificates/<cert-name>
. Verwenden Sie zum Abrufen des cert-id
-Werts den folgenden Befehl: az spring certificate show --service <service-instance-name> --resource-group <resource-group-name> --name <certificate-name> --query id
Dieser Befehl erstellt eine App mit den folgenden Einstellungen:
- Timeout für eingehende Lesevorgänge: 300 Sekunden
- Timeout für eingehende Sendevorgänge: 60 Sekunden
- Sitzungsaffinität: Cookie
- Maximalalter für Sitzungscookie: 1800 Sekunden
- Back-End-Protokoll: Standard
- Clientauthentifizierung: Zertifikatname
Aktualisieren der Eingangseinstellungen für eine vorhandene App
Verwenden Sie die folgenden Schritte, um die Eingangseinstellungen für eine Anwendung zu aktualisieren, die von einer vorhandenen Dienstinstanz gehostet wird.
Melden Sie sich beim Portal mit einem Konto an, das dem Azure-Abonnement zugeordnet ist, das die Azure Spring Apps-Instanz enthält.
Navigieren Sie zum Bereich Apps, und wählen Sie die App aus, die Sie konfigurieren möchten.
Navigieren Sie zum Bereich Konfiguration, und wählen Sie dann die Registerkarte Eingangseinstellungen.
Aktualisieren Sie die Eingangseinstellungen, und wählen Sie dann Speichern aus.
Häufig gestellte Fragen
Wie aktivieren Sie gRPC?
Legen Sie das Back-End-Protokoll auf GRPC fest.
Wie aktivieren Sie WebSocket?
WebSocket ist standardmäßig aktiviert, wenn Sie das Back-End-Protokoll auf Standard festlegen. Der WebSocket-Verbindungsgrenzwert beträgt 20000. Wenn Sie diesen Grenzwert erreichen, schlägt die Verbindung fehl.
Sie können auch RSocket auf Grundlage von WebSocket verwenden.
Worin besteht der Unterschied zwischen Eingangskonfiguration und Eingangseinstellungen?
Die Eingangskonfiguration kann weiterhin in der Azure CLI und im SDK verwendet werden, und diese Einstellung gilt für alle Apps innerhalb der Dienstinstanz. Nachdem die Eingangseinstellungen eine App konfiguriert haben, kann sich die Eingangskonfiguration nicht darauf auswirken. Es wird nicht empfohlen, dass neue Skripts die Eingangskonfiguration verwenden, da wir zukünftig planen, die Unterstützung dafür einzustellen.
Wenn Eingangseinstellungen zusammen mit App Gateway/APIM verwendet werden: Was geschieht, wenn Sie das Timeout sowohl in Azure Spring Apps als auch in App Gateway/APIM festlegen?
Der kürzere Timeoutwert wird verwendet.
Benötigen Sie eine zusätzliche Konfiguration in App Gateway/APIM, wenn Sie End-to-End-Support für gRPC oder WebSocket benötigen?
Sie benötigen keine zusätzliche Konfiguration, solange App Gateway gRPC unterstützt.
Wird der konfigurierbare Port unterstützt?
Der konfigurierbare Port wird derzeit nicht unterstützt (80/443).