Les passerelles cloud natives gèrent les connexions, la compression, les protocoles et la sécurité via un ensemble de paramètres moteur. Si les réglages par défaut ne correspondent pas à votre charge de travail (par exemple, si le trafic HTTP/2 nécessite des fenêtres de contrôle de flux plus larges ou si un CDN placé devant la passerelle masque les adresses IP clientes), ajustez ces paramètres pour améliorer le débit, réduire la latence et renforcer la sécurité.
La modification des paramètres de la passerelle peut interrompre les connexions actives et affecter les applications en cours d'exécution. Consultez les plages valides et les descriptions dans cette rubrique avant d'appliquer tout changement.
Prérequis
Avant de commencer, assurez-vous de disposer :
D'une passerelle cloud native. Pour plus d'informations, voir Créer une passerelle cloud native.
Modifier un paramètre
Seuls les paramètres répertoriés sur la page Parameter Settings de la console Microservices Engine (MSE) sont modifiables. Définissez les valeurs en respectant les plages indiquées dans la colonne Ranges.
Connectez-vous à la console MSE. Dans la barre de navigation supérieure, sélectionnez une région.
Dans le volet de navigation de gauche, choisissez Cloud-native Gateway > Gateways.
Sur la page Gateways, cliquez sur l'ID de la passerelle.
Dans le volet de navigation de gauche, cliquez sur Parameter Settings.
Dans la section Gateway Engine Parameters, localisez le paramètre cible et cliquez sur Edit dans la colonne Actions.
Dans la boîte de dialogue Modify Parameters, définissez la valeur et cliquez sur OK.
Paramètres du moteur de passerelle
Les paramètres sont organisés selon les groupes suivants :
Paramètres du protocole HTTP : HTTP/2, HTTP/3 et génération d'ID de requête
Paramètres de compression : algorithmes de compression des réponses
Gestion des connexions : délais d'inactivité et tailles de tampon
Normalisation des chemins : fusion des barres obliques et gestion des caractères échappés
Paramètres d'en-tête et de proxy : casse des en-têtes, proxys de confiance et blocs CIDR
Sécurité et authentification : accélération matérielle TLS, protocole Proxy et propagation de la configuration d'authentification
Paramètres du protocole HTTP
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| EnableHttp2 | bool | true, false | false | Active HTTP/2 entre le client et la passerelle. Réglez sur true si vos clients prennent en charge HTTP/2 et que vous souhaitez bénéficier du multiplexage et de la compression des en-têtes. |
| EnableHttp3 | bool | true, false | false | Active HTTP/3 (QUIC) pour les connexions descendantes. HTTP/3 réduit la latence d'établissement des connexions et améliore les performances sur les réseaux sujets aux pertes de paquets. |
| EnableGenerateRequestId | bool | true, false | true | Génère un en-tête X-Request-Id pour chaque requête. Maintenez cette option activée pour le suivi et le débogage des requêtes. Ne la désactivez que si votre application génère ses propres ID de requête. |
| DownstreamHttp2MaxConcurrentStream | integer | 0 - 2147483647 | 100 | Nombre maximal de flux simultanés par connexion HTTP/2. Des valeurs élevées permettent davantage de requêtes parallèles par connexion, mais consomment plus de mémoire. |
| InitialStreamWindowSize | integer | 0 - 2147483647 | 65535 | Taille initiale de la fenêtre de contrôle de flux HTTP/2 par flux, en octets. La valeur par défaut (64 Ko) respecte la spécification HTTP/2. Augmentez cette valeur pour les flux à haut débit afin de réduire la surcharge liée au contrôle de flux, sachant que des fenêtres plus grandes accroissent la consommation mémoire par flux. |
| InitialConnectionWindowSize | integer | 0 - 2147483647 | 1048576 | Taille initiale de la fenêtre de contrôle de flux HTTP/2 par connexion, en octets. La valeur par défaut (1 Mo) permet un débit modéré. Augmentez cette valeur pour les connexions transportant de nombreux flux parallèles. |
Paramètres de compression
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| EnableGzip | bool | true, false | false | Compresse les réponses avant leur envoi aux clients. Cette option réduit l'utilisation de la bande passante mais augmente la charge CPU de la passerelle. Activez-la pour les réponses riches en texte (JSON, HTML) ; laissez-la désactivée si les ressources CPU de la passerelle sont limitées. |
| ZipAlgorithm | List |
brotli, gzip | gzip | Algorithme de compression. Brotli offre généralement de meilleurs taux de compression que gzip, au prix d'une utilisation CPU plus élevée. Lorsque les deux sont sélectionnés et que l'en-tête Accept-Encoding attribue une priorité égale (valeurs q) à chacun, l'algorithme listé en premier s'applique. Nécessite que EnableGzip soit réglé sur true. |
Exemple : Activer brotli avec repli sur gzip
Réglez EnableGzip sur true et ZipAlgorithm sur brotli, gzip. Les clients prenant en charge brotli reçoivent des réponses compressées avec brotli ; les autres reçoivent gzip.
Gestion des connexions
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| DownstreamIdleTime | integer | 0 - 600 | 15 | Délai d'inactivité pour les connexions client-passerelle, en secondes. Si aucune requête n'est reçue durant cette période, la passerelle ferme la connexion. Des valeurs basses libèrent les ressources plus rapidement ; des valeurs élevées réduisent la surcharge de reconnexion pour les clients keep-alive. |
| UpstreamIdleTimeout | integer | 0 - 600 | 30 | Délai d'inactivité pour les connexions passerelle-upstream, en secondes. Si la passerelle n'envoie aucune requête au backend durant cette période, elle ferme la connexion. Définissez une valeur supérieure au délai keep-alive de votre backend pour éviter les déconnexions prématurées. |
| DownstreamConnectionBufferLimits | integer | 0 - 2147483647 | 32768 | Taille maximale du tampon par connexion de passerelle, en octets. L'augmentation de cette valeur permet à la passerelle de traiter des corps de requête ou de réponse plus volumineux en mémoire, mais accroît la consommation mémoire. La valeur par défaut (32 Ko) convient à la plupart des charges de travail. |
Normalisation des chemins
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| EnableSlashMerge | bool | true, false | false | Fusionne les barres obliques consécutives (/) en une seule. Par exemple, www.example.com//b devient www.example.com/b. Activez cette option si vos applications backend ne gèrent pas correctement les barres obliques dupliquées. |
| PathWithEscapedSlashes | string | KEEP_UNCHANGED, REJECT_REQUEST, UNESCAPE_AND_REDIRECT, UNESCAPE_AND_FORWARD | KEEP_UNCHANGED | Détermine comment la passerelle traite les requêtes dont l'URI contient des caractères de barre oblique échappés (%2F, %2f, %5C, %5c). |
Valeurs de PathWithEscapedSlashes
| Value | Behavior |
|---|---|
| KEEP_UNCHANGED | Transmet la requête telle quelle. |
| REJECT_REQUEST | Renvoie une erreur HTTP 400 et rejette la requête. Utilisez cette option pour bloquer les tentatives de traversée de chemin. |
| UNESCAPE_AND_REDIRECT | Décode les caractères et envoie une redirection vers l'URI normalisée. |
| UNESCAPE_AND_FORWARD | Décode les caractères et transmet la requête au backend. |
Paramètres d'en-tête et de proxy
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| PreserveHeaderFormat | bool | true, false | false | Conserve la casse d'origine des en-têtes HTTP/1.1 au lieu de les convertir en minuscules. Par défaut (false), tous les en-têtes sont convertis en minuscules pour assurer la compatibilité HTTP/1.1 et HTTP/2. Réglez sur true uniquement si votre backend exige des en-têtes sensibles à la casse. |
| XffTrustedNum | integer | 0 - 10 | 0 | Nombre de sauts de proxy de confiance. La passerelle utilise cette valeur pour extraire l'adresse IP réelle du client depuis l'en-tête x-forwarded-for. Lorsqu'elle est définie sur 0, la passerelle utilise l'IP du socket pair comme IP cliente et l'inscrit dans l'en-tête x-envoy-external-address. Pour une valeur non nulle n, la passerelle ignore les n entrées les plus à droite dans x-forwarded-for (après avoir ajouté l'IP du socket) afin de déterminer l'IP cliente réelle. Les en-têtes x-request-id et x-forwarded-proto provenant du client sont conservés sans modification. Associé : EnableXffTrustedCidrs. |
| EnableXffTrustedCidrs | bool | true, false | false | Active les blocs CIDR de confiance pour les services de proxy frontal tels que Web Application Firewall (WAF) et CDN. Une fois activée, la passerelle extrait l'IP cliente réelle de l'en-tête x-forwarded-for et ignore les adresses IP appartenant aux blocs CIDR de confiance. Associé : XffTrustedNum. |
Quand configurer des proxys de confiance
Si votre trafic traverse un proxy inverse, un CDN ou un WAF avant d'atteindre la passerelle, configurez XffTrustedNum ou EnableXffTrustedCidrs afin que la passerelle identifie correctement l'IP cliente réelle. Sans cette configuration, la passerelle considère l'IP du proxy comme l'IP du client, ce qui affecte la limitation de débit basée sur l'IP et le contrôle d'accès.
Utilisez
XffTrustedNumlorsque vous connaissez le nombre exact de sauts de proxy entre le client et la passerelle.Privilégiez
EnableXffTrustedCidrslorsque le nombre de sauts varie mais que vous pouvez définir des plages CIDR de confiance pour votre infrastructure de proxy.
Sécurité et authentification
| Parameter | Type | Range | Default | Description |
|---|---|---|---|---|
| EnableHardwareAccelerate | bool | true, false | true | Active le chiffrement et le déchiffrement TLS (Transport Layer Security) accélérés matériellement. L'accélération matérielle décharge le traitement TLS du CPU, améliorant ainsi le débit pour le trafic HTTPS. Cette option ne prend effet que si l'accélération matérielle est disponible dans la région et a été sélectionnée lors de l'achat de la passerelle. |
| EnableProxyProtocol | bool | true, false | false | Active le protocole Proxy. Lorsqu'un Network Load Balancer (NLB) sert de point d'entrée au trafic, activez cette option pour obtenir l'adresse IP réelle du client. Les requêtes n'utilisant pas le protocole Proxy continuent de fonctionner normalement après l'activation de ce paramètre. |
| EnableCustomAuthConfigPush | bool | true, false | false | Empêche les coupures de connexion lors de modifications des règles d'authentification personnalisées. Activez cette option pour les connexions WebSocket ou toute autre connexion persistante qui ne doit pas être interrompue par des mises à jour de règles d'authentification. |
En raison de limitations matérielles sous-jacentes, l'accélération matérielle (EnableHardwareAccelerate) est disponible uniquement dans les régions suivantes : Chine (Pékin), Chine (Hangzhou), Chine (Shanghai), Chine (Shenzhen) et Singapour.