As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Transformações para regras de ouvinte
Uma transformação de regra reescreve as solicitações de entrada antes que elas sejam roteadas para os destinos. Reescrever uma solicitação não altera a decisão de roteamento tomada ao avaliar as condições da regra. Isso é útil quando os clientes enviam um URL ou cabeçalho de host diferente do esperado pelos alvos.
O uso de transformações de regras transfere a responsabilidade de modificar caminhos, cadeias de caracteres de consulta e cabeçalhos de host para o balanceador de carga. Isso elimina a necessidade de adicionar uma lógica de modificação personalizada ao código do aplicativo ou confiar em um proxy de terceiros para realizar as modificações.
Os Application Load Balancers oferecem suporte às seguintes transformações para regras de ouvinte.
Transformações
host-header-rewrite-
Reescreve o cabeçalho do host na solicitação. A transformação usa uma expressão regular para corresponder a um padrão no cabeçalho do host e, em seguida, o substitui por uma string de substituição.
url-rewrite-
Reescreve o URL da solicitação. A transformação usa uma expressão regular para corresponder a um padrão na URL da solicitação e, em seguida, a substitui por uma string de substituição.
Princípios básicos da transformação
-
Você pode adicionar uma transformação de regravação de cabeçalho de host e uma transformação de regravação de URL por regra.
-
Você não pode adicionar uma transformação a uma regra padrão.
-
Se não houver correspondência de padrão, a solicitação original será enviada ao destino.
-
Se houver uma correspondência de padrão, mas a transformação falhar, retornaremos um erro HTTP 500.
Transformações de reescrita do cabeçalho do host
Você pode modificar o nome de domínio especificado no cabeçalho do host.
exemplo Exemplo de transformação do cabeçalho do host
Você pode especificar uma transformação ao criar ou modificar uma regra. Para obter mais informações, consulte os comandos create-rule e modify-rule. Veja a seguir um exemplo de transformação do cabeçalho do host. Ele transforma o cabeçalho do host em um endpoint interno.
[ { "Type": "host-header-rewrite", "HostHeaderRewriteConfig": { "Rewrites": [ { "Regex": "^mywebsite-(.+).com$", "Replace": "internal.dev.$1.myweb.com" } ] } } ]
Por exemplo, essa transformação reescreve o cabeçalho do host https://mywebsite-example.com/project-a comohttps://internal.dev.example.myweb.com/project-a.
transformações de reescrita de URL
Você pode modificar o caminho ou a sequência de caracteres de consulta do URL. Ao reescrever o URL no nível do balanceador de carga, seu front-end URLs pode permanecer consistente para usuários e mecanismos de pesquisa, mesmo que seus serviços de back-end mudem. Você também pode simplificar cadeias de caracteres de consulta de URL complexas para facilitar a digitação dos clientes.
Observe que você não pode modificar o protocolo ou a porta do URL, somente o caminho e a string de consulta.
exemplo Exemplo de transformação de reescrita de URL
Você pode especificar uma transformação ao criar ou modificar uma regra. Para obter mais informações, consulte os comandos create-rule e modify-rule. Veja a seguir um exemplo de transformação de reescrita de URL. Ele transforma a estrutura do diretório em uma string de consulta.
[ { "Type": "url-rewrite", "UrlRewriteConfig": { "Rewrites": [ { "Regex": "^/dp/([A-Za-z0-9]+)/?$", "Replace": "/product.php?id=$1" } ] } } ]
Por exemplo, essa transformação reescreve o URL da solicitação https://www.example.com/dp/B09G3HRMW comohttps://www.example.com/product.php?id=B09G3HRMW.
Como as regravações de URL diferem dos redirecionamentos de URL
| Característica | Redirecionamentos de URL | Reescrita de URL |
|---|---|---|
| Exibição de URL | Alterações na barra de endereço do navegador | Nenhuma alteração na barra de endereço do navegador |
| Códigos de status | Usa 301 (permanente) ou 302 (temporário) | Nenhuma alteração no código de status |
| Processamento | Do lado do navegador | Do lado do servidor |
| Usos comuns | Alteração de domínio, consolidação de sites, correção de links quebrados | Limpe URLs para SEO, oculte estruturas complexas, forneça mapeamento de URL antigo |