Reescrita de URL
Visão geral
A funcionalidade de Reescrita de URL permite transformar partes das requisições recebidas (path ou query params) antes que elas sejam encaminhadas para a origin. Use reescritas para compatibilizar caminhos antigos, padronizar URLs para origins diferentes ou para ocultar parâmetros internos do backend.

Comportamento básico
- Ordem: as regras são avaliadas de cima para baixo; reordene-as se necessário usando o controle de arrastar.
- Condições: cada regra pode ter uma ou mais condições combinadas por
E/OU.
Campos e operadores
Os campos definem onde será aplicado o pattern matching, que podem ser:
| Campos | Representação de busca |
|---|---|
URI Completa |
https://example.com.br/file.mp4?device=mobile |
URI |
/2024/file.mp4?device=mobile&si=plkOdwgB |
Caminho da URI |
/files/2024/05/10/file_example.mp4 |
Os operadores são as condições que quando em conjunto vão gerar o pattern matching, que podem ser:
| Operadores |
|---|
Contém |
Começa com |
Termina com |
Não começa com |
Não termina com |
É igual a |
Não é igual a |
Não contém |
O Valor é algum trecho da url que será comparado ao campo escolhido.
Quando usar
- Migrando paths entre backends sem alterar clientes.
- Normalizar URLs (remover ou adicionar prefixos).
- Redirecionar requests por parâmetro (ex.: versão do cliente).
Tipos de reescrita
- Path rewrite: altera o caminho da URI (ex.:
/old/path/video.m3u8→/v2/video.m3u8). - Query param rewrite: adiciona, remove ou renomeia parâmetros de query.
Passo a passo — criar uma regra de Reescrita de URL
- Abra a tela de criação/edição da instância e navegue até a aba URL.
- Clique em
ADICIONAR REGRApara adicionar uma nova regra. - Escolha o tipo de reescrita:
Pathe/ouQuery. - Defina as condições: por exemplo,
URI Completacontémdevice=mobileeCaminho da URInão começa com/path. - Para Path:
- Informe o tipo se é estático ou dinâmico.
- Exemplo visual:

- Informe o tipo se é estático ou dinâmico.
- Para Query:
- Informe o tipo se é estático ou dinâmico.
- Informe o valor desejado de substituição.
- Exemplo visual:

- Informe o tipo se é estático ou dinâmico.
-
Para Redirecionamento:
- Forçar direcionamento (opcional)
- Forçar direcionamento (opcional)
-
Salve a regra e aguarde o provisionamento.
Exemplo prático — converter /old/... para /v2/...
- Condição:
Caminho da URIcomeça com/old/. - Ação (Path rewrite): aplicar regex
^/old/(.+)com substituição/v2/$1.
Testar com curl:
curl -i "https://<seu-dominio>/old/content/playlist.m3u8"
Verifique se a origem recebeu o request reescrito (caminho /v2/content/playlist.m3u8) e se a resposta traz os headers esperados.
Boas práticas
- Teste regras com exemplos reais antes de ativar em produção.
- Prefira regras específicas (paths exatos ou regex bem definidos) para evitar reescritas indesejadas.
Resolução de problemas
- Se a reescrita não ocorrer, verifique a ordem das regras e as condições associadas.
- Valide o regex de origem e a sintaxe de substituição.
- Para depuração, registre/log os caminhos recebidos e reescritos na origem.