O conteúdo distribuído pelo ApsaraVideo VOD é público por padrão. Para evitar downloads não autorizados e hotlinking, ative a assinatura de URL junto com outras medidas, como proteção de hotlink baseada em referer e listas de permissões/bloqueios de endereços IP. A assinatura de URL valida uma string de assinatura e um timestamp na URL da solicitação para proteger os recursos do seu servidor de origem.
Como funciona
A assinatura de URL do ApsaraVideo VOD coordena os CDN POPs do Alibaba Cloud e o seu servidor de aplicativos para impedir acessos não autorizados. Os seguintes componentes estão envolvidos:
-
Servidor de aplicativos: gera uma URL assinada com base em regras predefinidas, incluindo o algoritmo de assinatura e a chave.
-
O aplicativo ou navegador do usuário: solicita um recurso enviando a URL assinada a um CDN POP para validação.
-
CDN POP: valida as informações contidas na URL assinada, como a string de assinatura e o timestamp.
O processo de autenticação funciona da seguinte forma:
-
Configure as regras para geração de uma URL assinada no seu servidor de aplicativos.
-
Um cliente solicita uma URL assinada ao seu servidor de aplicativos.
-
O servidor de aplicativos retorna uma URL assinada para o recurso solicitado.
-
O cliente usa a URL assinada para solicitar o recurso a um CDN POP.
-
O CDN POP valida as informações de autenticação na URL assinada.
-
Se a autenticação falhar, a solicitação será negada.
-
Se a autenticação for bem-sucedida, o CDN POP processa a solicitação.
-
-
Se a autenticação for bem-sucedida, o CDN POP fornece o recurso com base na sua lógica de cache.
Nota-
Se a solicitação resultar em um cache miss, o CDN POP realiza um origin fetch. Antes disso, ele remove os parâmetros de autenticação da URL assinada para restaurar a URL original (por exemplo,
http://DomainName/FileName). Em seguida, o CDN POP usa essa URL original para gerar uma chave de cache ou buscar o conteúdo do seu servidor de origem. -
Depois que o CDN autentica a URL da solicitação, ele codifica os caracteres especiais na URL, como
=e+.
-
Ativar e configurar a assinatura de URL
-
Certifique-se de ter configurado as regras para geração de uma URL assinada no servidor de aplicativos, incluindo o algoritmo de assinatura e a chave.
-
A lógica de assinatura de URL no ApsaraVideo VOD deve corresponder à lógica do seu servidor de aplicativos.
-
Faça login no ApsaraVideo VOD console.
-
No painel de navegação à esquerda, escolha Configuration Management > CDN Configuration > Domain Names.
-
Localize o nome de domínio a ser configurado e clique em Configure na coluna Actions.
-
Clique em Resource Access Control.
-
Acesse a guia URL Signing e clique em Modify na seção Set URL Signing.
-
Ative o URL Signing e configure os parâmetros de autenticação.
A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Type
O ApsaraVideo VOD oferece suporte a três métodos de assinatura. Escolha o que corresponde ao formato de URL assinada que você precisa:
NotaUm erro de assinatura de URL retorna um código de status 403.
-
Erros de hash MD5
Exemplo:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd7**** -
Erros de timestamp
Exemplo:
X-Tengine-Error:denied by req auth: expired timestamp=143946****
Primary Key
Insira a chave primária para o método de assinatura selecionado. A chave deve ter entre 6 e 32 caracteres e conter apenas letras maiúsculas, letras minúsculas e dígitos.
Secondary Key
Insira a chave secundária para o método de assinatura selecionado. A chave deve ter entre 6 e 32 caracteres e conter apenas letras maiúsculas, letras minúsculas e dígitos. Você deve fornecer pelo menos uma chave (primária ou secundária).
NotaO uso de uma chave secundária evita interrupções no serviço ao manter válidas as URLs assinadas com a chave antiga durante a rotação de chaves.
Default Validity Period
A duração pela qual uma URL assinada permanece válida. O acesso é permitido até o timestamp da URL somado a este período de validade.
-
Padrão: 30. Unidade: Minutos.
-
Exemplo: se o servidor de assinatura gerar uma URL assinada às 2020-08-15 15:00:00 (UTC+8) e o Default Validity Period estiver definido como 30 minutos, a URL assinada expirará às 2020-08-15 15:30:00 (UTC+8).
Support Previewing
O recurso de visualização prévia permite que os usuários assistam ou ouçam uma parte de um arquivo de mídia, como os primeiros cinco minutos. É comumente usado para conteúdo por assinatura ou pagamento por visualização. Para mais informações, consulte Visualizar vídeos.
-
-
Clique em OK para salvar a configuração.
Após a ativação, a assinatura de URL se aplica a todo o conteúdo distribuído por meio deste nome de domínio.
Para os recursos gerenciados pelo console do ApsaraVideo VOD, o console gera automaticamente URLs assinadas com limite de tempo. Também é possível obter uma URL assinada chamando a operação de API GetPlayInfo.
NotaApós ativar a assinatura de URL, ela se aplica às URLs de todos os ativos, incluindo vídeos, arquivos de áudio, miniatura e snapshot.
Desativar a assinatura de URL
Se você desativar a assinatura de URL no ApsaraVideo VOD, mas as solicitações dos clientes ainda incluírem parâmetros de assinatura, o ApsaraVideo VOD não conseguirá restaurar a URL original. Cada solicitação resultará em um cache miss e será encaminhada ao seu servidor de origem, o que pode aumentar significativamente seus custos. Para evitar isso, desative a assinatura de URL tanto no ApsaraVideo VOD quanto no seu servidor de aplicativos.
-
Na seção Set URL Signing, clique em Modify.
-
Desative o botão Signed URL.
-
Remova os parâmetros de assinatura das URLs de solicitação geradas pelo seu servidor de aplicativos.
Gerar uma URL assinada
Gerar pelo console
Após configurar a assinatura de URL, gere uma URL assinada pelo console para verificar se a lógica de assinatura está correta.
-
Na seção Generate Signed URL, configure a Original URL e as outras informações de autenticação.
A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Original URL
Insira a URL original completa. Exemplo:
https://****.com/ecs.mp4.Type
Selecione o tipo de assinatura (A, B ou C) que você escolheu na etapa Ativar e configurar a assinatura de URL.
Authentication Key
Com base nas configurações definidas em Ativar autenticação e configurar uma URL assinada, insira sua Primary Key ou Secondary Key.
Validity Period
Insira o período de validade da assinatura de URL conforme a configuração especificada em Ativar a assinatura de URL e configurar uma URL assinada. A unidade é segundos. Por exemplo: 1800.
-
Clique em Generate. A Signed URL e o Timestamp serão exibidos.
A URL assinada gerada segue o formato
https://<domain-name>/<path>?auth_key={timestamp}-0-0-{md5hash}. Clique no botão Copy para copiar a URL.
Gerar com um SDK
Gere uma URL assinada integrando o ApsaraVideo VOD SDK ao seu servidor de aplicativos e chamando a operação de API GetPlayInfo.
Gerar com código
Você também pode escrever código personalizado para gerar uma URL assinada usando um dos três métodos de assinatura.