Roteie requisições por país ou continente
Envie as requisições de um continente ou de uma lista de países ao seu próprio connector com uma regra de geolocalização depois da regra padrão.
Você envia as requisições de um continente, ou de uma lista de países, a um connector regional com uma regra de geolocalização, pelo Azion Console, pela API ou pela Azion CLI. Para dar a um connector uma origem de backup que recebe as requisições quando a sua origem primária falha, consulte Adicione uma origem de backup a um connector.
Uma regra de geolocalização lê a localização do endereço IP do cliente na Request Phase e nomeia um connector com Set Connector. Set Connector não se acumula entre regras: quando várias regras que correspondem o carregam, somente o da última regra que corresponde é executado. Uma regra padrão que envia todos os caminhos a um connector vem, portanto, primeiro, e cada regra de geolocalização vem depois dela e substitui o padrão para as requisições a que corresponde.
- Toda requisição corresponde à primeira regra, que define
origin-default. - Uma requisição do continente ou dos países da segunda regra também corresponde a ela, que define
origin-regional, e a regra posterior vence. - Qualquer outra requisição mantém
origin-default.
Pré-requisitos
- Uma aplicação servida por um workload, com uma primeira regra cujo behavior Set Connector envia todas as requisições,
${uri}starts with/, ao connector padrão. Para criá-los, consulte Primeiros passos com Applications. - Um segundo connector, para a região. Para criar um, consulte Primeiros passos com Connectors.
- Um personal token, para os procedimentos pela API.
- A Azion CLI instalada e autorizada, para os procedimentos pela CLI.
Os exemplos usam origin-default para o connector padrão, origin-regional com o ID <connector-id> para o regional e a aplicação <application-id>. Substitua-os pelos seus valores.
Crie a regra de geolocalização
O critério nomeia a localização a corresponder. O Rules Engine a lê do endereço IP do cliente, e as variáveis e os operadores abaixo não exigem nenhum Produto na aplicação:
| Para corresponder a | Variável | Operador | Argumento |
|---|---|---|---|
| Um continente | ${geoip_continent_code}, o código de continente de duas letras | is equal, is_equal | Um código como NA, para a América do Norte |
| Um país | ${geoip_country_code}, o código de país de duas letras | is equal, is_equal | Um código como RU, para a Rússia |
| Uma lista de países | ${geoip_country_code} | matches, matches | Uma expressão regular de códigos de país, como ^(BR|AR)$ |
Um código de continente é geografia, não uma jurisdição. Quando uma regra deve seguir os países que uma lei ou um contrato nomeia, corresponda à lista de países. As variáveis ${geoip_city_*} leem outra base de geolocalização, geoip_city. Para todas as variáveis de geolocalização, consulte Variáveis.
Os procedimentos correspondem ao continente NA. Para uma lista de países, troque o critério pelo da tabela.
Para criar a regra no Azion Console:
Acesse Azion Console > Applications > sua aplicação e vá para a aba Rules Engine.
Insira um nome que identifique a região. Por exemplo: geo - north america.
Na seção Criteria, defina o critério como ${geoip_continent_code} is equal NA.
Na seção Behaviors, selecione Set Connector e, em seguida, selecione origin-regional.
A regra aparece na lista Request da aba Rules Engine.
As requisições da América do Norte vão para origin-regional quando a regra se propaga, e todas as outras requisições mantêm origin-default. Uma regra nova leva alguns minutos para chegar a todos os data centers.
Mantenha a regra de geolocalização depois da regra padrão
A plataforma cria uma regra nova no fim da sua fase, que é a posição de que uma regra de geolocalização precisa. Uma lista reordenada pode deixar a regra padrão por último, e ela então envia de novo todas as requisições a origin-default, sem mudança em nenhuma regra. Verifique a ordem depois de cada mudança na lista.
Para verificar a ordem no Azion Console:
Acesse Azion Console > Applications > sua aplicação e vá para a aba Rules Engine.
geo - north america fica depois da regra padrão. Se não ficar, mova-a para baixo da regra padrão.
A regra de geolocalização é executada depois da regra padrão, então o seu connector vence para as requisições a que ela corresponde.
Para testar a regra, envie uma requisição de uma máquina na região a que ela corresponde, porque a regra lê a localização do endereço IP do cliente. Para ver quais regras foram executadas em uma requisição, ative Debug Rules.