Todos os produtos
Search
Central de documentação

CDN:Assinatura do Tipo A

Última atualização: Sep 21, 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 Alibaba Cloud CDNDCDN e apresenta 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 solicitação real à origem. O Filename deve começar com uma barra (/).

    auth_key

    As informações de assinatura, compostas por timestamp, rand, uid e md5hash.

    timestamp

    O momento em que o servidor de assinatura gera a URL assinada. Este 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 de Configure URL Signing. A URL assinada expira no timestamp + o período de validade configurado.

    rand

    Um número aleatório. Defina este valor como um UUID sem hifens (-), por exemplo, 477b3bbc253f467b8def6711128c7bec.

    uid

    ID do usuário. Este campo não é usado. Defina-o 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 CDNDCDN recebe uma solicitação de recurso, ele verifica se timestamp + validity period of the signed URL é anterior à hora atual.

    • Se timestamp + validity period of the signed URL for anterior à hora atual, a URL assinada expirou e o servidor retorna um erro HTTP 403.

    • Se timestamp + validity period of the signed URL for posterior à hora atual, o servidor constrói uma string no formato sstring (consulte o formato sstring na tabela). Em seguida, calcula o valor do md5hash usando o algoritmo MD5 e compara o valor do md5hash calculado com o valor do md5hash na solicitação do usuário.

      • Se os valores coincidirem, a autenticação é bem-sucedida e o servidor retorna o recurso.

        Nota

        Após uma autenticação bem-sucedida, o sistema remove os parâmetros de assinatura da URL. Isso melhora a taxa de acerto do cache e reduz o tráfego de retorno à 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 solicitação real à origem: http://DomainName/FileName

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

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, codifique 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

    • Defina a chave como: aliyuncdnexp1234.

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

  • Processo de concatenação

    1. O servidor CDNDCDN constrói uma string para gerar o hash e calcular o md5hash.

      /video/standard/test.mp4-1444435200-0-0-aliyuncdnexp1234
    2. Com base nessa string, o servidor CDNDCDN 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 ao usar a URL assinada, o servidor CDNDCDN calcula o valor do md5hash e o compara com o valor do md5hash na solicitação (23bf85053008f5c0e791667a313e28ce). Se os valores coincidirem e a URL assinada não tiver expirado, a autenticação é bem-sucedida. Caso contrário, a autenticação falha.