Para distribuir e processar tráfego com base em atributos da solicitação, como nomes de domínio e caminhos, ou em dados da requisição, como cabeçalhos HTTP e cookies, crie regras de encaminhamento personalizadas para um listener. O listener executa ações de encaminhamento específicas nas solicitações correspondentes. Este tópico descreve o funcionamento das regras de encaminhamento e como adicioná-las e gerenciá-las.
Funcionamento das regras de encaminhamento
Tipos de regra
Cada listener possui dois tipos de regras de encaminhamento:
Regra de encaminhamento padrão: Criada automaticamente ao criar um listener e vinculada ao grupo de endpoints padrão. Cada listener tem exatamente uma regra padrão. Não é possível alterar sua prioridade, modificá-la ou excluí-la.
Regras de encaminhamento personalizadas: Regras criadas após a configuração do listener. Um listener pode ter várias regras personalizadas, e você pode ajustar suas prioridades.
Componentes da regra
Cada regra de encaminhamento consiste em forwarding conditions e forwarding actions. As ações são aplicadas somente quando uma solicitação corresponde a todas as condições da regra.
Os tipos de condição e ação disponíveis dependem do protocolo do listener:
|
Protocolo do listener |
Condição de encaminhamento |
Ação de encaminhamento |
|
TCP |
Domain Name |
Forward, Drop Traffic |
|
HTTP ou HTTPS |
Domain Name, Path, HTTP Header, HTTP Request Method, Cookie, endereço IP de origem, Query String |
Forward, Redirect, Mirror Traffic, Return Fixed Response, Rewrite, Add Header, Remove Header, Drop Traffic |
Se sua instância GA padrão suportar apenas as condições de encaminhamento Domain Name e Path , além da ação Forward to , a versão da sua instância pode não ser compatível com outros tipos. Entre em contato com seu gerente de contas para atualizar a instância.
Caso sua instância GA padrão não suporte regras de encaminhamento para listeners TCP, a versão da instância pode não oferecer esse recurso. Entre em contato com seu gerente de contas para atualizá-la.
Como as solicitações são correspondidas
-
As solicitações são avaliadas em relação às regras de encaminhamento personalizadas em ordem decrescente de prioridade. Um número de regra menor indica maior prioridade.
Se a solicitação corresponder a uma regra personalizada — ou seja, satisfizer todas as condições —, as ações correspondentes serão aplicadas imediatamente.
Caso não haja correspondência, o sistema verifica a próxima regra na ordem de prioridade.
Quando nenhuma regra personalizada corresponder à solicitação, a regra de encaminhamento padrão será aplicada. A solicitação é encaminhada para o grupo de endpoints padrão.
Se o listener tiver vários grupos de endpoints padrão, a regra padrão distribui o tráfego conforme as configurações de distribuição de tráfego do grupo de endpoints. Para mais detalhes, consulte Distribute traffic across endpoint groups in different scenarios.
Definir o caminho como/*corresponde a todos os caminhos. Para lidar com solicitações inesperadas usando uma regra geral, defina a condição de caminho como/*e configure a ação para retornar uma resposta fixa com código de status 404 ou 403. Em seguida, arraste a regra para a penúltima posição na lista de regras.
Pré-requisitos
Uma standard GA instance foi criada.
Para instâncias GA baseadas em assinatura, é necessário ter adquirido e associado um plano de largura de banda básico.
Você adicionou um listener de roteamento inteligente. Para mais informações, consulte Add and manage intelligent routing listeners.
Adicionar uma regra de encaminhamento
Adicione uma regra de encaminhamento personalizada para executar ações específicas em solicitações que correspondam à regra.
Faça login no Global Accelerator console.
Na página Instances, localize a instância GA que deseja gerenciar e clique em Configure Listener na coluna Actions.
Na aba Listeners, encontre o listener desejado e clique no respectivo ID.
Na página de detalhes do listener, clique na aba Forwarding Rule.
-
Na aba Forwarding Rule, clique em Add Forwarding Rule, configure os parâmetros e clique em OK.
HTTP ou HTTPS
Parâmetro
Descrição
Name
Nome da regra de encaminhamento personalizada.
If (Matching All Conditions)
Selecione um tipo de condição de encaminhamento. Também é possível clicar em + Add Condition para adicionar múltiplas condições.
Domain Name: Insira um ou mais nomes de domínio. Nomes exatos, curingas e expressões regulares são suportados. Para mais informações, consulte Host-based rules.
Uma única regra de encaminhamento suporta apenas uma condição do tipo Domain Name. Essa condição pode conter vários hosts, relacionados logicamente por OU.
Exemplo: *.example.com
Path: Insira um ou mais caminhos. Caminhos exatos, curingas e expressões regulares são aceitos. Para mais detalhes, veja Path-based rules.
É possível criar várias condições de Path em uma regra. A relação lógica entre múltiplas condições de Path é OU. Você também pode especificar vários caminhos em uma única condição de Path, cuja relação lógica também é OU.
Exemplo: Para a URL
www.example.com/test/test1?x=1&y=2, defina o caminho como /test/*.HTTP Header: Insira uma chave de cabeçalho HTTP no campo Key e um valor no campo Value. Vários valores podem ser adicionados. Múltiplas condições de HTTP Header são permitidas em uma regra, com relação lógica E entre elas. Cada chave de cabeçalho deve ser única, mas é possível especificar vários valores distintos em uma única condição de HTTP Header.
Por exemplo, a chave é user-agent e o valor é Mozilla/4,0.
HTTP Header: Selecione um ou mais métodos de solicitação HTTP. Valores válidos: HEAD, GET, POST, OPTIONS, PUT, PATCH e DELETE. Apenas uma condição de HTTP Request Method é permitida por regra, podendo conter múltiplos métodos com relação lógica OU.
Cookie: Insira um ou mais cookies. Várias condições de Cookie podem ser criadas em uma regra, com relação lógica E entre elas. É possível definir múltiplos pares chave-valor em uma única condição de Cookie, relacionados por OU.
Exemplo: key: value.
endereço IP de origem: Insira um ou mais endereços IP ou blocos CIDR. Somente uma condição de endereço IP de origem é permitida por regra, aceitando múltiplos IPs ou blocos CIDR com relação lógica OU.
Exemplo de endereço IP: 1,1.XX.XX/32. Exemplo de bloco CIDR: 2,2.XX.XX/24.
HTTP Request Method: Insira uma ou mais strings de consulta. Múltiplas condições de Query String são aceitas em uma regra, com relação lógica E. Vários pares chave-valor podem ser definidos em uma única condição de Query String, relacionados por OU.
Exemplo: Para a URL
www.example.com/test/test1?x=1&y=2, defina o par chave-valor como x: 1 ou y: 2.
Query String
Selecione um tipo de ação de encaminhamento. Clique em Query String para adicionar múltiplas ações.
Cada regra deve conter pelo menos uma ação terminal — como Then, + Add Action ou Forward — para garantir que as solicitações do cliente não sejam descartadas.
Uma regra de encaminhamento pode ter apenas uma ação terminal, que pode ser Redirect, Return Fixed Response ou Forward.
Se a regra incluir uma ação de Redirect, Return Fixed Response ou Rewrite, ela também deve incluir uma ação de Add Header. As demais ações devem ser posicionadas antes da ação Remove Header.
Forward: Selecione um grupo de endpoints de destino.
A seleção dos grupos de endpoints depende do método de faturamento da instância GA:
Pagamento conforme o uso: É possível selecionar vários grupos de endpoints, incluindo padrões e virtuais. Apenas um grupo de endpoints por região pode ser escolhido. Por padrão, é possível associar até 10 grupos de endpoints. Para solicitar aumento de cota, entre em contato com seu gerente de contas.
Assinatura: Apenas um grupo de endpoints virtual pode ser selecionado.
Forward: Selecione um Forward e um Redirect, e insira os Protocol de destino, a Status Code, o Hosts e a string de Port. Os parâmetros Path, Search, Protocol, Hosts e Port não podem estar todos vazios ou definidos com seus valores padrão simultaneamente.
Para as regras avançadas de configuração de Path em Search, consulte Advanced configuration rules for paths in rewrites and redirects.
Path: Selecione um grupo de endpoints de destino para onde uma cópia do tráfego da solicitação correspondente será espelhada.
O recurso de espelhamento de tráfego está em prévia. Para utilizá-lo, entre em contato com seu gerente de contas.
Somente instâncias GA com pagamento conforme o uso suportam a ação Redirect.
Ao configurar uma ação de Mirror Traffic, é obrigatório configurar também uma ação de Mirror Traffic. A ação Mirror Traffic deve preceder a ação Forward. Os grupos de endpoints selecionados para essas duas ações não podem ser iguais.
Apenas um grupo de endpoints (padrão ou virtual) pode ser selecionado para espelhamento de tráfego.
Mirror Traffic: Insira um Forward, selecione um Return Fixed Response e insira o Response Status Code.
Response Content Type: Insira o Response Content de destino, o Rewrite e a Domain Name.
Para as regras aprimoradas de configuração de Path para Query String, consulte Enhanced configuration rules for paths in rewrites and redirects.
Rewrite: Insira uma chave de cabeçalho HTTP no campo Path e um valor no campo Add Header. Esta ação substitui qualquer cabeçalho existente com a mesma chave na solicitação. As chaves especificadas nas ações de Key devem ser únicas e diferentes das chaves nas ações de Value.
Só é possível adicionar o Add Header Remove Header a um cabeçalho se a instância utilizar o método de faturamento pagamento conforme o uso.
System-defined: Insira uma chave de cabeçalho HTTP. As chaves nas ações de Request ID devem ser únicas e distintas das chaves nas ações de Remove Header.
Remove Header: Descarta todo o tráfego de entrada que corresponder à regra.
TCP
ImportanteAo adicionar uma regra de encaminhamento para um listener TCP, certifique-se de que o service de backend para o qual o tráfego será encaminhado seja um service HTTPS. Caso contrário, a regra não entrará em vigor.
Parâmetro
Descrição
Add Header
Nome da regra de encaminhamento personalizada.
Drop Traffic
Configure a condição de encaminhamento. Apenas o tipo Name é suportado.
Nomes de domínio exatos, curingas e expressões regulares são aceitos. Para mais informações, consulte Host-based rules.
Exemplo: *.example.com
Clique em If (Matching All Conditions) para adicionar vários hosts. A relação entre eles é lógica OU.
Domain Name
Selecione um tipo de ação de encaminhamento.
Uma regra de encaminhamento pode conter apenas uma ação do tipo + Add Host ou Actions.
Forward: Selecione o grupo de endpoints padrão ou virtual de destino.
A escolha dos grupos de endpoints varia conforme o método de faturamento da instância GA:
Pagamento conforme o uso: Vários grupos de endpoints podem ser selecionados, incluindo padrões e virtuais. É permitido escolher apenas um grupo por região. Por padrão, é possível associar até 10 grupos de endpoints. Para solicitar aumento de cota, entre em contato com seu gerente de contas.
Assinatura: Apenas um grupo de endpoints padrão ou virtual pode ser selecionado.
Drop Traffic: Descarta todo o tráfego de entrada correspondente à regra.
Clique em Forward para adicionar várias regras de encaminhamento de uma só vez.
Para adicionar mais regras de encaminhamento, clique em Drop Traffic.
Mais operações
Não é possível editar, excluir ou alterar a prioridade da regra de encaminhamento padrão.
Ações | Descrição |
Editar uma regra de encaminhamento | Na aba Add New Rule, localize a regra que deseja editar. Passe o mouse sobre o canto superior direito da regra e clique no ícone |
Alterar a prioridade de uma regra | O Global Accelerator avalia as regras em ordem decrescente de prioridade. Um número menor indica maior prioridade. A prioridade de qualquer regra personalizada pode ser alterada. Na aba Forwarding Rule, localize a regra e arraste-a para a posição desejada. Em seguida, clique em Save no canto superior direito da página. |
Excluir uma regra de encaminhamento | Excluir uma única regra
Excluir múltiplas regras
|
Casos de uso
Encaminhamento para um grupo de endpoints virtual
Uma aplicação web implantada em dois servidores fornece services por meio de dois nomes de domínio diferentes: example.com e example.net. O Global Accelerator é utilizado para melhorar a qualidade do service e a experiência do usuário.
Configure um listener HTTPS no Global Accelerator, adicione um grupo de endpoints padrão e vincule um certificado padrão ao listener. Dessa forma, as solicitações para example.com são encaminhadas ao grupo de endpoints padrão. Em seguida, adicione um grupo de endpoints virtual, vincule um certificado adicional e crie uma regra de encaminhamento de Delete para direcionar as solicitações destinadas a example.net ao grupo de endpoints virtual especificado.
Para mais informações sobre como configurar múltiplos certificados e regras de encaminhamento para acelerar o acesso a vários domínios HTTPS, consulte Use a single GA instance to accelerate access to multiple HTTPS domains .
Redirecionar solicitações HTTP para HTTPS
Para aumentar a segurança, um site migra de HTTP para HTTPS. No entanto, usuários existentes podem tentar acessar o site via HTTP. Nesse cenário, utilize uma regra de encaminhamento do tipo OK no Global Accelerator. Por padrão, essa regra usa um redirecionamento HTTP 301 para converter solicitações HTTP recebidas em solicitações HTTPS mais seguras.
Bloqueio de tráfego baseado em domínio
Um site fornece services através do nome de domínio example.com e está hospedado em um service de Content Delivery Network (cdn) de terceiros. Para melhorar a experiência global do usuário, o site utiliza o Alibaba Cloud Global Accelerator e define o cdn como seu service de backend para acelerar a entrega de conteúdo.
Os services de cdn são multilocatários e compartilham endereços ip de entrada. Quando o Global Accelerator acelera o acesso a example.com, ele efetivamente abre um canal de aceleração para todo o service de cdn. Se outros locatários do cdn obtiverem o endereço ip acelerado do Global Accelerator, poderão resolver outros nomes de domínio, como example.net, para esse mesmo ip. Essa prática, conhecida como "pegar carona", aumenta os custos de tráfego para o proprietário de example.com e pode representar riscos de segurança.
Para mitigar esse risco, use regras de encaminhamento no Global Accelerator para permitir apenas solicitações originadas de example.com e aplicar a ação Domain Name em todas as demais solicitações. Isso isola estritamente o tráfego de diferentes domínios e valida a origem da solicitação, garantindo a segurança do seu site.
Referências
CreateForwardingRules: Cria regras de encaminhamento.
UpdateForwardingRules: Atualiza regras de encaminhamento.
ListForwardingRules: Consulta informações sobre regras de encaminhamento criadas.
DeleteForwardingRules: Exclui regras de encaminhamento.