Partilhar via


Configurar buffers de proxy de solicitação e resposta

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

Buffer de resposta

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

Buffer de solicitação

Da mesma forma, o buffer de solicitação do Application Gateway pode armazenar temporariamente todo ou partes do corpo da solicitação e, em seguida, encaminhar uma solicitação de upload maior de uma só vez para o servidor de back-end. Por padrão, a configuração de buffer de solicitação está habilitada no Application Gateway e é útil para descarregar a função de processamento de remontar os pacotes menores de dados no servidor back-end.

Nota

Por padrão, os buffers de Solicitação e Resposta são habilitados no recurso do Application Gateway, 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 clientes que se comunicam com seu Application Gateway.


Aviso

É altamente recomendável testar e avaliar o desempenho antes de implementá-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 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 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 o SDK do Azure para .NET

Limitações

  • A API versão 2020-01-01 ou posterior deve ser usada para configurar buffers.
  • Atualmente, essas alterações não são suportadas pelo Portal e pelo PowerShell.
  • O buffer de solicitação não pode ser desabilitado se você estiver executando o WAF SKU do Application Gateway. O WAF requer que a solicitação completa seja armazenada em buffer como parte do processamento, portanto, mesmo se você desabilitar o buffer de solicitação no Application Gateway, o WAF ainda armazenará a solicitação em buffer. O buffer de resposta não é afetado pelo WAF.