Erweiterte API-Templates
Zuletzt aktualisiert am
Die Snippets auf dieser Seite erweitern den grundlegenden Request-Body, der im API-Tab von Einen ALB erstellen gezeigt wird. Wir empfehlen Ihnen, diese Seite bzw. diesen Tab zuerst zu lesen, um den grundlegenden Erstellungsprozess und die Voraussetzungen zu verstehen.
Die vollständige API-Spezifikation finden Sie in der Application Load Balancer API-Dokumentation.
ALB mit cookie-basierter Session-Persistenz
Abschnitt betitelt „ALB mit cookie-basierter Session-Persistenz“Fügen Sie diesen Abschnitt zum grundlegenden Request-Body hinzu, um für eine bestimmte Routing-Regel cookie-basierte Session-Persistenz zu aktivieren:
{ ... "rules": [ { "pathPrefix": "/tasks", "targetPool": "demo-alb-tp-80", "cookiePersistence": { "name": "sessionid", "ttl": "360s" } } ] ...}ALB mit WebSocket-Unterstützung
Abschnitt betitelt „ALB mit WebSocket-Unterstützung“Fügen Sie diesen Abschnitt zum grundlegenden Request-Body hinzu, um für eine bestimmte Routing-Regel WebSocket-Unterstützung zu aktivieren:
{ ... "rules": [ { "pathPrefix": "/ws", "targetPool": "demo-alb-tp-8000", "webSocket": true } ] ...}ALB mit Query-Parameter-Matching
Abschnitt betitelt „ALB mit Query-Parameter-Matching“Fügen Sie diesen Abschnitt zum grundlegenden Request-Body hinzu, um für eine bestimmte Routing-Regel Query-Parameter-Matching zu aktivieren:
{ ... "rules": [ { "pathPrefix": "/resources", "targetPool": "demo-alb-tp-80", "queryParameters": [ { "name": "userId", "exactMatch": "123" } ] } ] ...}ALB mit HTTPS-Listener
Abschnitt betitelt „ALB mit HTTPS-Listener“1. TLS-Zertifikat speichern
Abschnitt betitelt „1. TLS-Zertifikat speichern“Bevor Sie den eigentlichen Load Balancer mit HTTPS-Listener erstellen können, müssen Sie ein vorhandenes TLS-Zertifikat mit dieser API-Methode speichern. Hier ist ein Beispiel für den Request-Body:
{ "name": "demo-tls-cert-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "privateKey": "-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----", "publicKey": "-----BEGIN CERTIFICATE------ ... -----END CERTIFICATE-----"}Wir empfehlen, Zertifikate zu versionieren und ihren SHA-256-Fingerprint/Hash im Dateinamen zu ergänzen, damit Verwaltung und Identifikation einfacher werden. Weitere Zertifikatsoperationen finden Sie in der API-Dokumentation für Application Load Balancer Certificates.
2. ALB mit HTTPS-Listener erstellen
Abschnitt betitelt „2. ALB mit HTTPS-Listener erstellen“Fügen Sie diesen Abschnitt zum grundlegenden Request-Body hinzu, um einen HTTPS-Listener zu erstellen, der das gespeicherte TLS-Zertifikat verwendet:
{ ... "listeners": [ { "displayName": "tls-listener", "port": 443, "protocol": "PROTOCOL_HTTPS", "http": { "hosts": [ { "host": "app.stackit.cloud", "rules": [ { "pathPrefix": "/", "targetPool": "demo-alb-tp-80" } ] } ] }, "https": { "certificateConfig": { "certificateIds": [ "demo-tls-cert-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] } } } ], ...}TLS Bridging
Abschnitt betitelt „TLS Bridging“Dieses Beispiel verwendet eine benutzerdefinierte Zertifizierungsstelle (CA) zur Backend-TLS-Validierung. Bei nicht benutzerdefinierten CAs lassen Sie das Feld customCa weg. Fügen Sie diesen Abschnitt zum grundlegenden Request-Body hinzu, um einen Target-Pool mit aktiviertem TLS-Bridging zu erstellen:
{ ... "listeners": [ { "displayName": "tls-listener", "port": 443, "protocol": "PROTOCOL_HTTPS", "http": { "hosts": [ { "host": "app.stackit.cloud", "rules": [ { "pathPrefix": "/", "targetPool": "demo-alb-tp-80" } ] } ] }, "https": { "certificateConfig": { "certificateIds": [ "demo-tls-cert-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] } } } ], "targetPools": [ { "name": "secure-tp-5732", "targetPort": 5732, "targets": [ { "displayName": "my-target", "ip": "192.0.2.5" } ], "tlsConfig": { "customCa": "my-custom-ca", "enabled": true, "skipCertificateValidation": false }, "activeHealthCheck": { "healthyThreshold": 1, "unhealthyThreshold": 1, "interval": "3s", "intervalJitter": "3s", "timeout": "3s", "httpHealthChecks": { "path": "/health", "okStatuses": [ "200" ] } } } ], ...}Alle diese Konfigurationen können Sie auch über das STACKIT Portal umsetzen, um Ihre Application Load Balancer zu erstellen und zu verwalten.