Compartilhar via


Configurar buffers de proxy de solicitação e resposta

O SKU Standard v2 do Gateway de Aplicativo do Azure dá suporte ao buffer de solicitações de clientes ou respostas (dos servidores de back-end). Com base nos recursos de processamento dos clientes que interagem com o gateway de aplicativo, você pode usar esses buffers para configurar a velocidade de entrega de pacotes.

Buffer de resposta

O buffer de resposta do Gateway de Aplicativo pode coletar todos ou partes dos pacotes de resposta enviados pelo servidor de back-end antes de entregá-los aos clientes. Por padrão, o buffer de resposta é habilitado no gateway de aplicativo, o que é útil para acomodar clientes lentos. Essa configuração permite que você preserve as conexões TCP de back-end, pois elas podem ser fechadas quando o gateway de aplicativo recebe uma resposta completa e trabalha de acordo com a velocidade de processamento do cliente. Dessa forma, o Gateway de Aplicativo continua a fornecer a resposta de acordo com o ritmo do cliente.

Buffer de solicitação

De maneira semelhante, o buffer de solicitação do gateway de aplicativo pode armazenar temporariamente todo ou partes do corpo da solicitação e, em seguida, encaminhar uma solicitação de upload maior de uma vez para o servidor de back-end. Por padrão, a configuração de buffer de solicitação é habilitada no Gateway de Aplicativo e é útil para descarregar a função de processamento de remontar os pacotes menores de dados no servidor de back-end.

Observação

Por padrão, os buffers de solicitação e de resposta são habilitados no recurso de gateway de aplicativo, mas você pode optar por configurá-los separadamente. Além disso, as configurações são aplicadas em um nível de recurso e não podem ser gerenciadas separadamente para cada ouvinte.


Você pode manter o buffer de solicitação ou resposta habilitado ou desabilitado, com base em seus requisitos e no desempenho observado dos sistemas cliente que se comunicam com o Gateway de Aplicativo.


Aviso

É altamente recomendável que você teste e avalie o desempenho antes de redistribuí-lo nos gateways de produção.

Como alterar as configurações de buffer?

Você pode alterar essa configuração usando a propriedade globalConfiguration.

Método da CLI do Azure

Buffer de resposta

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

Buffer de solicitação

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

Método PowerShell

Novo gateway de aplicativo

$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

Atualizar um gateway de aplicativo existente

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

Método de modelo do 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
            }
         }
      }
   ]
} 

Para referência, visite SDK do Azure para .NET

Limitações

  • A API versão 01/01/2020 ou posterior deve ser usada para configurar buffers.
  • Atualmente, essas alterações não têm suporte por meio do portal e do PowerShell.
  • O buffer de solicitação não poderá ser desabilitado se você estiver executando o SKU do WAF do Gateway de Aplicativo. O WAF requer a solicitação completa para fazer buffer como parte do processamento – portanto, mesmo se você desabilitar o buffer de solicitação no Gateway de Aplicativo, o WAF ainda armazenará a solicitação em buffer. O buffer de resposta não é afetado pelo WAF.