Todos os produtos
Search
Central de documentação

CDN:Assinatura do Tipo A

Última atualização: Jul 05, 2026

A assinatura de URL protege os recursos do seu site contra downloads não autorizados e hotlinking. Este tópico descreve como a assinatura do tipo A funciona no CDN do Alibaba Cloud e fornece um exemplo.

Como funciona

  • Estrutura de uma URL assinada do tipo A

    http://DomainName/Filename?auth_key={<timestamp>-rand-uid-<md5hash>}
    Nota

    O conteúdo entre {} é a informação de assinatura adicionada à URL padrão.

  • Descrição dos campos

    Campo

    Descrição

    DomainName

    O nome de domínio do seu site CDN.

    Filename

    A URL para a busca real na origem. O Filename deve começar com uma barra (/).

    auth_key

    A informação de assinatura, composta por timestamp, rand, uid e md5hash.

    timestamp

    O momento em que o servidor de assinatura gera a URL assinada. Esse valor e o Validity Period of Signed URL determinam juntos quando a URL assinada expira. O valor é um timestamp UNIX de 10 dígitos que representa o número de segundos decorridos desde 00:00:00 de 1º de janeiro de 1970.

    Nota

    Configure o TTL no console Configure URL Signing. A URL assinada expira em timestamp + o período de validade configurado.

    rand

    Um número aleatório. Defina como um UUID sem hífens (-), por exemplo, 477b3bbc253f467b8def6711128c7bec.

    uid

    ID do usuário. Este campo não é utilizado. Defina como 0.

    md5hash

    Uma string de 32 caracteres calculada com o algoritmo MD5, composta por dígitos e letras minúsculas.

    Método de cálculo:

    sstring = "URI-Timestamp-rand-uid-PrivateKey" (URI is the relative path of the requested object, such as /Filename, and does not include parameters.)
    md5hash = md5sum(sstring)
  • Lógica de autenticação

    Quando um servidor CDN recebe uma solicitação de recurso, ele verifica se timestamp + período de validade da URL assinada é anterior à hora atual.

    • Se timestamp + período de validade da URL assinada for anterior à hora atual, a URL assinada expirou e o servidor retorna um erro HTTP 403.

    • Se timestamp + período de validade da URL assinada for posterior à hora atual, o servidor constrói uma string no formato sstring (consulte o formato sstring na tabela). Em seguida, calcula o valor md5hash com o algoritmo MD5 e compara o valor md5hash calculado com o valor md5hash na solicitação do usuário.

      • Se os valores coincidirem, a autenticação será bem-sucedida e o recurso será retornado.

        Nota

        Após a autenticação bem-sucedida, os parâmetros de assinatura são removidos da URL. Isso melhora a taxa de acerto de cache e reduz o tráfego de volta à origem. Por exemplo:

        • URL com parâmetros de assinatura: http://DomainName/Filename?auth_key={<timestamp>-rand-uid-<md5hash>}

        • Após a autenticação bem-sucedida:

          • Formato de URL usado para gerar a chave de cache: http://DomainName/FileName

          • Formato de URL para a busca real na origem: http://DomainName/FileName

      • Se os valores não coincidirem, a autenticação falha e um erro HTTP 403 é retornado.

Exemplo de URL assinada

O exemplo a seguir demonstra a assinatura do tipo A.

  • Condições do exemplo

    • Objeto da solicitação de origem:

      http://domain.example.com/video/standard/test.mp4
      Nota

      Se a URL da solicitação contiver caracteres não ASCII, você deve codificar a URL primeiro. Use a URL codificada para construir a string de hash. Por exemplo:

      • URL original: https://example.com/image/AlibabaCloud.jpg

      • URL codificada: https://example.com/image/%E9%98%BF%E9%87%8C%E4%BA%91.jpg

    • A chave está definida como: aliyuncdnexp1234.

    • O servidor de assinatura gera a URL assinada às 08:00:00 de 10 de outubro de 2015 (UTC+8), que corresponde ao valor inteiro decimal 1444435200.

  • Processo de concatenação

    1. O servidor CDN constrói uma string para calcular o hash do md5hash.

      /video/standard/test.mp4-1444435200-0-0-aliyuncdnexp1234
    2. Com base nessa string, o servidor CDN calcula o md5hash.

      md5hash = md5sum("/video/standard/test.mp4-1444435200-0-0-aliyuncdnexp1234") = 23bf85053008f5c0e791667a313e28ce
    3. Gere a URL assinada.

      http://domain.example.com/video/standard/test.mp4?auth_key=1444435200-0-0-23bf85053008f5c0e791667a313e28ce

Quando um cliente solicita um recurso usando a URL assinada, o servidor CDN calcula um valor md5hash e o compara com o valor md5hash na solicitação (23bf85053008f5c0e791667a313e28ce). Se os valores coincidirem e a URL assinada não tiver expirado, a autenticação será bem-sucedida. Caso contrário, a autenticação falha.