Todos os produtos
Search
Central de documentação

CDN:Type C signing

Última atualização: Sep 21, 2026

A assinatura de URL protege os recursos do CDN contra hotlinking e acesso não autorizado. O método Type C signing incorpora um hash MD5 e um timestamp hexadecimal diretamente na URL, permitindo que o servidor CDN verifique a autenticidade e a expiração antes de entregar o recurso.

Para escolher o método de assinatura adequado ao seu cenário, consulte Visão geral da assinatura de URL .

Como funciona

O Type C signing incorpora dois valores na URL — um hash MD5 da requisição e um timestamp hexadecimal — para que o servidor CDN possa verificar tanto a autenticidade quanto a expiração da URL antes de servir o recurso.

Fluxo completo, da assinatura até a entrega do recurso:

  1. O servidor de assinatura gera um timestamp UNIX e calcula um hash MD5 a partir da chave privada, do caminho do arquivo e do timestamp.

  2. A aplicação incorpora o hash e o timestamp na URL (usando o formato 1 ou o formato 2, descritos a seguir).

  3. O cliente envia uma requisição com a URL assinada.

  4. O servidor CDN verifica se a URL expirou. Em caso positivo, retorna HTTP 403.

  5. Caso a URL ainda esteja válida, o servidor CDN recalcula o hash MD5 com os mesmos dados de entrada e o compara com o hash presente na requisição.

  6. Havendo correspondência, o servidor CDN remove os parâmetros de assinatura da URL — o que melhora a taxa de acerto de cache e reduz o tráfego de retorno à origem — e entrega o recurso.

Formatos de URL

O Type C signing aceita dois formatos de URL. Ambos carregam os mesmos dois campos: md5hash e timestamp.

Formato 1 — hash e timestamp incorporados no caminho:

http://DomainName/{<md5hash>/<timestamp>}/FileName

Formato 2 — hash e timestamp como parâmetros de consulta:

http://DomainName/FileName?{KEY1=<md5hash>&KEY2=<timestamp>}
O conteúdo entre {} representa as informações criptografadas adicionadas à URL padrão.

Referência de campos

Campo

Descrição

DomainName

Nome de domínio do seu site CDN.

PrivateKey

Chave de criptografia personalizada. Deve ter entre 16 e 32 caracteres e pode conter letras maiúsculas, letras minúsculas e dígitos.

FileName

Caminho usado na busca real à origem. Deve começar com /. Se o caminho contiver caracteres não ASCII (como caracteres chineses), aplique codificação de URL antes de usá-lo no cálculo do hash. Por exemplo: /image/AlibabaCloud.jpg → /image/%E9%98%BF%E9%87%8C%E4%BA%91.jpg.

timestamp

Momento em que o servidor de assinatura gera a URL assinada, expresso como timestamp UNIX em formato hexadecimal. Um timestamp UNIX é um inteiro decimal positivo de 10 dígitos que conta os segundos desde 00:00:00 UTC de 1º de janeiro de 1970, independentemente do fuso horário.

md5hash

String hexadecimal de 32 caracteres em letras minúsculas, calculada com o algoritmo MD5. A string de entrada (sstring) é: Privatekey + URI + timestamp (URI corresponde ao caminho relativo do objeto solicitado, sem parâmetros de consulta — por exemplo, /FileName).

**Como calcular o md5hash:**

sstring  = Privatekey + URI + timestamp  (URI is the relative path of the requested object, without query parameters — for example, /FileName)
md5hash  = md5sum(sstring)

Como o período de validade funciona:

A URL assinada expira quando timestamp + validity period é anterior ao horário atual. O período de validade corresponde ao valor configurado para o seu domínio CDN. Para estender a vida útil de uma URL além desse limite, defina timestamp como UNIX timestamp + extension duration ao gerar a URL. O tempo de expiração efetivo passa a ser timestamp + configured validity period.

Lógica de autenticação

Ao receber uma requisição, o servidor CDN:

  1. Verifica se timestamp + validity period é anterior ao horário atual.

    • Expirado: retorna HTTP 403.

    • Não expirado: prossegue para a verificação do hash.

  2. Constrói a mesma sstring a partir de Privatekey, URI e timestamp, e calcula o próprio md5hash.

  3. Compara o hash calculado com o md5hash presente na requisição.

    • Correspondência: a autenticação é bem-sucedida. O servidor remove os parâmetros de assinatura da URL e retorna o recurso.

    • Sem correspondência: retorna HTTP 403.

Após a autenticação bem-sucedida, o servidor CDN usa a URL limpa (sem parâmetros de assinatura) tanto para a chave de cache quanto para a busca na origem:

Etapa

URL

Chave de cache

http://DomainName/FileName

Busca na origem

http://DomainName/FileName

A remoção dos parâmetros de assinatura permite reutilizar respostas em cache entre diferentes requisições, o que melhora a taxa de acerto de cache e reduz o tráfego de retorno à origem.

Exemplo

O exemplo a seguir demonstra o cálculo completo do Type C signing.

Dados de entrada:

Campo

Valor

Requisição de origem

http://domain.example.com/test.flv

PrivateKey

aliyuncdnexp1234

timestamp

55CE8100

Etapa 1: Construa a string de entrada.

sstring = aliyuncdnexp1234/test.flv55CE8100

Etapa 2: Calcule o hash MD5.

md5hash = md5sum(aliyuncdnexp1234/test.flv55CE8100)
        = a37fa50a5fb8f71214b1e7c95ec7a1bd

Etapa 3: Monte a URL assinada.

Formato 1:

http://domain.example.com/a37fa50a5fb8f71214b1e7c95ec7a1bd/55CE8100/test.flv

Formato 2:

http://domain.example.com/test.flv?KEY1=a37fa50a5fb8f71214b1e7c95ec7a1bd&KEY2=55CE8100

Quando o cliente envia a requisição, o servidor CDN recalcula o hash MD5 com os mesmos dados de entrada. Se o resultado corresponder a a37fa50a5fb8f71214b1e7c95ec7a1bd e a URL não tiver expirado, a autenticação é bem-sucedida e o recurso é retornado.

Próximos passos