Por padrão, o conteúdo distribuído pelo CDNDCDN é público e acessível a qualquer pessoa com sua URL. Para proteger os recursos de origem contra acessos não autorizados e downloads maliciosos, use a assinatura de URL junto a outros métodos de controle de acesso, como proteção de hotlink por Referer e listas de bloqueios/permissões de IP. A assinatura de URL protege o conteúdo ao validar a string criptografada e o timestamp contidos em uma URL assinada.
Como funciona a assinatura de URL
A assinatura de URL impede o acesso não autorizado aos recursos de origem ao coordenar as solicitações entre os POPs do Alibaba Cloud CDNDCDN e a origem. O processo envolve três componentes principais:
Servidor de aplicativos de origem: gera uma URL assinada com base em uma regra de assinatura definida (incluindo algoritmo e chave) e a retorna ao cliente.
Cliente: envia a URL assinada para um POP do CDNDCDN para solicitar um recurso.
**POP do CDNDCDN**: valida as informações na URL assinada, como a string de assinatura e o timestamp.
-
Clientes do CDN ou DCDN configuram as regras de geração de URLs assinadas (incluindo algoritmo de assinatura e chave) no servidor de aplicativos de origem.
Por exemplo, uma URL assinada pode ter o formato
http://DomainName/timestamp/md5hash/FileName. Quando um cliente visita uma página no aplicativo, o servidor de aplicativos de origem gera uma URL assinada conforme as regras configuradas e a incorpora à página retornada.
O cliente usa a URL assinada para solicitar o recurso de um POP do CDNDCDN.
-
O POP do CDNDCDN valida as informações na URL assinada, como a string de assinatura e o timestamp, para determinar se a solicitação é legítima.
Se a autenticação falhar, o POP negará a solicitação.
-
Se a autenticação for bem-sucedida, o POP fornecerá o conteúdo.
NotaCaso um nó do CDNDCDN não tenha o recurso em cache, ele removerá os parâmetros de autenticação da URL assinada e restaurará a URL original (por exemplo,
http://DomainName/FileName). Em seguida, usará a URL original para gerar uma chave de cache ou iniciar uma solicitação de busca na origem.Após autenticar a URL da solicitação, o CDNDCDN codifica quaisquer caracteres especiais presentes nela, como caracteres chineses ou outros não ASCII.
Configure e ative a assinatura de URL
Certifique-se de configurar as regras de geração de URLs assinadas, incluindo o algoritmo de assinatura e a chave, no servidor de aplicativos de origem.
A lógica de assinatura de URL configurada no console do CDNDCDN deve corresponder à lógica do servidor de aplicativos de origem.
Faça login no console do DCDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio desejado e clique em Configure.
Na árvore de navegação à esquerda do nome de domínio, clique em Access Control.
Clique na aba URL Signing.
Ative a chave URL Authentication Setting.
-
Na caixa de diálogo URL Signing, configure os parâmetros de assinatura de URL.

Parâmetro
Descrição
Authentication Type
Selecione o tipo de autenticação correspondente ao formato de URL assinada do servidor de origem.
NotaSe a assinatura de URL falhar, o sistema retornará um erro 403:
Erro de cálculo MD5
Exemplo:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760beErro relacionado ao tempo
Exemplo:
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
Primary Key
Insira a chave primária. Deve conter de 6 a 128 caracteres alfanuméricos.
Secondary Key
Insira a chave secundária. Deve conter de 6 a 128 caracteres alfanuméricos. Pelo menos uma chave é obrigatória.
Validity period
Uma URL assinada permanece válida do
timestampatétimestamp+validity period. Solicitações fora dessa janela são rejeitadas.-
Unidade: segundos
-
Intervalo de valores: 1 a 31.536.000
-
Valor padrão: 1800 (30 minutos)
-
Exemplo: Uma URL assinada com timestamp 2020-08-15 15:00:00 (UTC+8) e período de validade de 1800 segundos expira em 2020-08-15 15:30:00 (UTC+8).
Clique em OK.
Verifique a URL assinada
Após ativar a assinatura de URL, gere uma URL de teste no console do DCDN para validar a lógica de assinatura.
-
Na seção Generate Encrypted URL for Testing, especifique a Original URL e as informações de autenticação.

Parâmetro
Descrição
Original URL
Insira a URL original. Exemplo:
https://www.aliyun.com.Authentication Type
Selecione o tipo de autenticação configurado em Configure e ative a assinatura de URL.
Authentication Key
Insira a Primary Key ou a Secondary Key definidas em Configure e ative a assinatura de URL.
Validity Period
Insira o período de validade em segundos. Este valor deve corresponder ao definido em Configure e ative a assinatura de URL.
-
Clique em Generate para obter a Authentication URL e o Timestamp.

Desativar a assinatura de URL
Se você desativar a assinatura de URL no console do CDNDCDN, mas as solicitações dos clientes ainda contiverem parâmetros de assinatura, o CDNDCDN não conseguirá restaurar as URLs de solicitação para o formato original. Isso causa falhas de cache e redireciona todas essas solicitações para a origem. Consequentemente, o tráfego de origem e os custos aumentam significativamente. Portanto, para desativar completamente a assinatura de URL, remova a configuração tanto do servidor de aplicativos quanto do console do CDNDCDN.
No console do DCDN, acesse a seção URL Authentication Setting e desative a chave de assinatura de URL.
No servidor de origem, remova a lógica que adiciona parâmetros de autenticação às URLs.