Todos os produtos
Search
Central de documentação

CDN:Assinatura Tipo B

Última atualização: Jul 05, 2026

A assinatura de URL protege os recursos do seu site contra downloads não autorizados e hotlinking. O Alibaba Cloud CDNDCDN oferece suporte a quatro métodos de assinatura. A assinatura Tipo B insere um timestamp e um hash MD5 no caminho da URL para controlar o acesso por tempo limitado.

Como funciona

  • Estrutura da URL assinada para assinatura Tipo B

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

    O conteúdo em {} corresponde às informações de assinatura anexadas à URL padrão.

    Campos de autenticação

    Campo

    Descrição

    DomainName

    Nome de domínio acelerado.

    timestamp

    Momento em que o servidor de assinatura gera a URL assinada, no formato UTC+8 YYYYMMDDHHMM. Esse campo, combinado ao validity period, define a expiração da URL assinada.

    Nota

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

    md5hash

    String de 32 caracteres calculada pelo algoritmo MD5, composta pelos dígitos 0–9 e letras minúsculas a–z.

    O valor de md5hash é calculado a partir da seguinte string:

    sstring = "Privatekey+timestamp+Path" (Path is the relative address of the requested object, which does not contain parameters, such as /Filename)
        md5hash = md5sum(sstring)

    Filename

    Caminho do arquivo solicitado. Deve começar com /.

  • Lógica de autenticação

    Ao receber uma solicitação, o servidor CDNDCDN verifica se a soma do timestamp com o validity period é anterior à hora atual.

    • Se a soma for anterior à hora atual, a URL estará expirada e o servidor retornará HTTP 403.

    • Caso a soma seja posterior à hora atual, o servidor constrói uma string no formato sstring, calcula o valor de md5hash com o algoritmo MD5 e o compara com o valor de md5hash presente na solicitação.

      • Se os valores coincidirem, a autenticação terá êxito e o recurso será retornado.

        Nota

        Após a autenticação bem-sucedida, os parâmetros de assinatura são removidos da URL para restaurar seu formato original. Essa ação melhora a taxa de acerto de cache e reduz o tráfego de back-to-origin. Exemplo:

        • URL com parâmetros de autenticação: http://DomainName/{<timestamp>/<md5hash>}/FileName

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

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

          • URL usada para buscar a origem: http://DomainName/FileName

      • Se os valores não coincidirem, a autenticação falhará e o servidor retornará HTTP 403.

Exemplo de URL assinada

O exemplo a seguir demonstra o funcionamento da assinatura Tipo B.

  • Condições do exemplo

    • Objeto da solicitação original:

      http://domain.example.com/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3
      Nota

      Se a URL da solicitação contiver caracteres não ASCII, codifique a URL primeiro. Utilize a URL codificada para construir a string de hash. 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

    • Nome de domínio do site CDNDCDN (DomainName): domain.example.com.

    • Timestamp (timestamp): 201508150800.

    • Chave privada (Privatekey): aliyuncdnexp1234.

    • Caminho relativo da solicitação do usuário (Path): /4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3.

    • Caminho do arquivo acessado na origem (Filename): /4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3.

  • Fluxo de concatenação

    1. Construa a string para hashing:

      // sstring="Privatekey+timestamp+Path"
      sstring=aliyuncdnexp1234201508150800/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3
    2. Calcule o valor md5hash:

      // md5hash = md5sum(sstring)
      md5hash = md5sum("aliyuncdnexp1234201508150800/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3") = 9044548ef1527deadafa49a890a377f0
    3. Gere a URL assinada:

      // Signed URL=http://DomainName/{<timestamp>/<md5hash>}/FileName
      http://domain.example.com/201508150800/9044548ef1527deadafa49a890a377f0/4/44/44c0909bcfc20a01afaf256ca99a8b8b.mp3

Quando um cliente envia uma solicitação com a URL assinada, o servidor CDNDCDN recalcula o valor de md5hash. Se esse valor coincidir com o md5hash da solicitação (9044548ef1527deadafa49a890a377f0) e a URL não tiver expirado, a autenticação terá êxito. Caso contrário, a autenticação falhará.