Partager via


Configurer des tampons de proxy de requête et de réponse

La référence SKU Azure Application Gateway Standard v2 prend en charge la mise en mémoire tampon des requêtes provenant des clients ou des réponses (provenant des serveurs back-ends). En fonction des capacités de traitement des clients qui interagissent avec votre passerelle applicative, vous pouvez utiliser ces mémoires tampons pour configurer la vitesse de remise des paquets.

Tampon de réponse

La mémoire tampon des réponses d’Application Gateway peut collecter tout ou partie des paquets de réponse envoyés par le serveur back-end, avant de les délivrer aux clients. Par défaut, la mise en mémoire tampon des réponses est activée sur Application Gateway, ce qui est utile pour gérer les clients lents. Ce paramètre vous permet de conserver les connexions TCP principales, car ces dernières peuvent être fermées une fois qu’Application Gateway reçoit une réponse complète et fonctionnent en fonction de la vitesse de traitement du client. De cette façon, votre passerelle applicative continue à délivrer la réponse en fonction du rythme du client.

Mémoire tampon de la requête

De la même façon, le tampon de requête d’Application Gateway peut stocker temporairement la totalité ou une partie du corps de la requête, puis transférer une requête de chargement plus importante simultanément au serveur principal. Par défaut, le paramètre de mise en mémoire tampon des requêtes est activé sur Application Gateway et est utile pour décharger la fonction de traitement du réassemblage des paquets de données plus petits sur le serveur back-end.

Remarque

Par défaut, les mémoires tampon de requête et de réponse sont activées sur votre ressource Application Gateway, mais vous pouvez choisir de les configurer séparément. En outre, les paramètres sont appliqués au niveau de la ressource et ne peuvent pas être gérés séparément pour chaque écouteur.


Vous pouvez conserver activée ou désactivée la mémoire tampon des requêtes ou des réponses en fonction de vos besoins et/ou des performances observées des systèmes clients qui communiquent avec votre passerelle applicative.


Avertissement

Nous vous recommandons vivement de tester et d’évaluer les performances avant de procéder au déploiement sur les passerelles de production.

Comment modifier les paramètres de mémoire tampon ?

Vous pouvez modifier ce paramètre à l’aide de la propriété globalConfiguration.

Méthode Azure CLI

Mémoire tampon de la réponse

az network application-gateway update --name <gw-name> --resource-group <rg-name> --set globalConfiguration.enableResponseBuffering=false

Mémoire tampon de la requête

 az network application-gateway update --name <gw-name> --resource-group <rg-name> --set globalConfiguration.enableRequestBuffering=false

Méthode PowerShell

Nouvelle passerelle applicative

$AppGw02 = New-AzApplicationGateway -Name "ApplicationGateway02" -ResourceGroupName "ResourceGroup02" -Location $location -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting01 -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $fp01 -HttpListeners $listener01 -RequestRoutingRules $rule01 -Sku $sku -EnableRequestBuffering:$false -EnableResponseBuffering:$false

Mettre à jour une passerelle applicative existante

$appgw = Get-AzApplicationGateway -Name $appgwName -ResourceGroupName $rgname
$appgw.EnableRequestBuffering = $false
$appgw.EnableResponseBuffering = $false
Set-AzApplicationGateway -ApplicationGateway $appgw

Méthode de modèle ARM

{
   "$schema":"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
   "contentVersion":"1.0.0.0",
   "parameters":{      
   },
   "variables":{      
   },
   "resources":[
      {
         "type":"Microsoft.Network/applicationGateways",
         "apiVersion":"xxx-xx-xx",
         "name":"[parameters('applicationGateways_xxxx_x_xx_name')]",
         "location":"eastus",
         "tags":{            
         },
         "identity":{      
         },
         "properties":{
            "globalConfiguration":{
               "enableRequestBuffering":false,
               "enableResponseBuffering":false
            }
         }
      }
   ]
} 

Pour référence, consultez SDK Azure pour .NET

Limites

  • L’API version 2020-01-01 ou ultérieure doit être utilisée pour configurer des mémoires tampons.
  • Actuellement, ces modifications ne sont pas prises en charge via le portail et via PowerShell.
  • La mise en mémoire tampon des requêtes ne peut pas être désactivée si vous exécutez la référence SKU WAF d’Application Gateway. Le pare-feu d’applications web (WAF) a besoin de la requête complète pour effectuer la mémoire tampon dans le cadre du traitement : même si vous désactivez la mise en mémoire tampon des requêtes dans Application Gateway, le WAF met toujours la requête en mémoire tampon. La mise en mémoire tampon des réponses n’est pas impactée par le WAF.