Como criar regras para automatizar comportamentos com o Rules Engine

Implementar regras em sua aplicação usando o Rules Engine permite que você determine as tarefas que ela deve executar em cenários específicos sem modificar o código-fonte da sua aplicação.

Este guia demonstra o processo de criação de regras com um exemplo prático, mas a maioria das regras será única para cada aplicação e suas necessidades. Além de ativar variáveis como device groups, configurações de cache e origens, você pode criar uma grande variedade de regras nas fases de solicitação e resposta.

Com esse guia, você irá criar uma regra na fase de resposta para remover um cabeçalho HTTP usando o comportamento Filter Response Header.


Para ativar o módulo Application Accelerator:

  1. Acesse o Azion Console.
  2. No canto superior esquerdo da página, abra o Products menu, representado por três linhas horizontais, e selecione Edge Application.
  3. Clique na edge application que você deseja configurar.
  4. Ative o módulo Application Accelerator.
  5. Clique no botão Save.

O cabeçalho Server armazena informações sobre o servidor que gerou a resposta. Ao remover este cabeçalho, os usuários finais não receberão informações sobre a infraestrutura da sua aplicação, aumentando sua segurança ao reduzir as informações disponíveis para possíveis invasores.

Para remover o cabeçalho Server:

  1. Navegue até a aba Rules Engine.
  2. Clique no botão Add Rule.
  3. No menu suspenso, selecione Response Phase.
  4. Dê um nome à sua regra e, se necessário, uma descrição.
  5. Na seção Criteria, selecione a variável ${uri}.
  6. Como operador de comparação, selecione começa com.
  7. Como argumento, adicione o valor /.
  8. Na seção Behaviors, selecione Filter Response Header.
  9. Como argumento, adicione Server.
  10. Clique no botão Save.

  1. Execute a seguinte requisição PATCH em seu terminal, substituindo [TOKEN VALUE] por seu personal token e a variável <edge_application_id> por [seu ID de edge application(/pt-br/documentacao/produtos/guias/build/ajustar-cache-settings/) para ativar o módulo Application Accelerator:
Terminal window
curl --location --request PATCH 'https://api.azionapi.net/edge_applications/<edge_application_id>' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '{
"application_acceleration": true
}'
  1. Você receberá uma resposta com o valor atualizado.
  2. Execute a seguinte requisição POST para criar uma regra na fase de resposta, substituindo <edge_application_id> pelo valor id que você recebeu na resposta anterior:
Terminal window
curl --location 'https://api.azionapi.net/edge_applications/<edge_application_id>/rules_engine/response/rules' \
--header 'Accept: application/json; version=3' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Content-Type: application/json' \
--data '{
"name": "FilterRespHeader Server",
"behaviors": [
{
"name": "filter_response_header",
"target": "Server"
}
],
"criteria": [
[
{
"variable": "${uri}",
"operator": "is_equal",
"conditional": "if",
"input_value": "/"
}
]
]
}'
  1. Você receberá a seguinte resposta:
{
"results": {
"id": <rule_id>,
"name": "FilterRespHeader Server",
"phase": "response",
"behaviors": [
{
"name": "filter_response_header",
"target": "Server"
}
],
"criteria": [
[
{
"variable": "${uri}",
"operator": "is_equal",
"conditional": "if",
"input_value": "/"
}
]
],
"is_active": true,
"order": 1,
"description": null
}
}
  1. Aguarde alguns minutos para que as alterações se propaguem.

Contribuidores