A autenticação remota é um recurso de controle de acesso que protege seus recursos. Quando uma requisição de usuário chega a um ponto de presença (PoP) do Alibaba Cloud CDN, o PoP a encaminha ao seu servidor de autenticação para validação e processa a requisição com base no resultado. Apenas usuários autorizados conseguem acessar seu conteúdo.
Como funciona
O ApsaraVideo VOD oferece assinatura de URL e autenticação remota para impedir downloads ilegais ou hotlinking do seu conteúdo. Essas duas funcionalidades diferem na implementação:
Assinatura de URL: você define regras de autenticação para um nome de domínio e as distribui aos POPs da CDN. Os POPs da CDN gerenciam todo o processo de autenticação. Para mais informações, consulte Assinatura de URL.
Autenticação remota: você deve fornecer e gerencie seu próprio servidor de autenticação. Quando um POP da CDN recebe uma requisição que exige autenticação, ele a encaminha ao seu servidor para validação.
O diagrama a seguir ilustra o processo de autenticação remota:
Um usuário envia uma requisição de recurso a um POP da CDN. A requisição inclui parâmetros de autenticação.
O POP da CDN recebe a requisição do usuário e a encaminha ao seu servidor de autenticação.
O servidor de autenticação valida os parâmetros da requisição e retorna o resultado ao POP da CDN.
-
O POP da CDN processa a requisição do usuário conforme o resultado da autenticação. Se a autenticação for bem-sucedida, o PoP permite a requisição. Caso contrário, o PoP nega ou restringe o acesso. Veja alguns exemplos:
Exemplo 1: autenticação bem-sucedida. O POP da CDN entrega o conteúdo em cache ao usuário.
Exemplo 2: falha na autenticação. O POP da CDN retorna um código de status 403 ao usuário.
Exemplo 3: falha na autenticação. O POP da CDN limita o acesso do usuário.
Exemplo 4: tempo limite de autenticação. O POP da CDN permite a requisição do usuário, que é a ação padrão.
Observações de uso
Ao ative a autenticação remota, toda requisição de usuário precisa ser autenticada. Se você prevê altos volumes de tráfego, garanta que seu servidor de autenticação suporte a carga.
Procedimento
Faça login no console do ApsaraVideo VOD.
No painel de navegação à esquerda, escolha Configuration Management.
Escolha CDN Configuration > Domain Names.
Localize o nome de domínio desejado e clique em Configure na coluna Actions.
Clique em Resource Access Control.
Clique na aba Remote Authentication.
-
Ative a chave Remote Authentication e defina as configurações.
A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Auth server address
Endereço publicamente acessível do seu servidor de autenticação. O endereço deve atender aos seguintes requisitos de formato e valor.
-
Requisitos de formato
O endereço deve estar em um dos seguintes formatos:
-
http://example.com/auth
-
https://example.com/auth
-
http://192.0.2.1/auth
-
https://192.0.2.1/auth
-
-
Requisitos de valor
O valor não pode ser
127.0.0.1nemlocalhost. Esses endereços locais são inválidos.
Request method
Método de requisição suportado pelo seu servidor de autenticação. Valores válidos: GET, HEAD e POST.
-
POST
-
Os parâmetros são transmitidos no corpo da requisição, e a URL na barra de endereços não se altera.
-
Não há limite prático para a quantidade de dados transmitidos.
-
As requisições não ficam em cache nem são salvas no histórico do navegador.
-
Oferece segurança relativamente alta.
-
-
GET
-
Os parâmetros são transmitidos na linha de requisição, e seus valores ficam visíveis na barra de endereços.
-
Limitações do navegador restringem a quantidade de dados transmissíveis a 1.024 bytes.
-
As requisições podem ser armazenadas em cache e são salvas no histórico do navegador.
-
Oferece segurança relativamente baixa.
-
-
HEAD
O método HEAD é idêntico ao GET, exceto pelo fato de o servidor não retornar um corpo de mensagem na resposta.
File types
-
All file types: autentica requisições para todos os tipos de arquivo.
-
Specified file types: autentica requisições apenas para arquivos dos tipos especificados.
-
Para especifique vários tipos de arquivo, separe-os com uma barra vertical (|), por exemplo,
mp4|flv. -
Os tipos de arquivo diferenciam maiúsculas de minúsculas. Por exemplo,
jpgeJPGsão considerados tipos diferentes.
-
Retain parameters
Controla quais parâmetros da URL da requisição do usuário são usados para autenticação. Você pode selecione Retain all parameters, Retain specified parameters ou Delete all URL parameters.
-
Se optar por reter parâmetros específicos, separe múltiplos parâmetros com uma barra vertical (|), por exemplo,
user|token. -
Os parâmetros diferenciam maiúsculas de minúsculas. Por exemplo,
keyeKEYsão tratados como parâmetros distintos.
Add custom parameters
Adiciona parâmetros personalizados à URL da requisição que o POP da CDN encaminha ao servidor de autenticação.
Selecione Custom para defina parâmetros e valores personalizados, ou escolha Select Parameter para usar variáveis predefinidas do console.
-
Ao defina parâmetros e valores personalizados:
-
Separe múltiplos parâmetros com uma barra vertical (|), por exemplo,
token=$arg_token|vendor=ali_cdn. -
Os parâmetros diferenciam maiúsculas de minúsculas. Por exemplo,
keyeKEYsão tratados como parâmetros distintos.
-
-
Ao usar variáveis predefinidas, é possível extrair seus valores e adicioná-los à requisição encaminhada pelo POP da CDN.
Por exemplo, se você selecione a variável
$http_host,host=$http_hostserá adicionado à URL da requisição, onde$http_hostcorresponde ao valor do cabeçalho Host na requisição do usuário. Para obter uma lista de variáveis e suas descrições, consulte Nomes de variáveis.
Retain request headers
Controla quais cabeçalhos da requisição do usuário são usados para autenticação. Selecione Retain all headers, Retain specified headers ou Delete all request headers.
-
Se optar por reter cabeçalhos específicos, separe múltiplos cabeçalhos com uma barra vertical (|), por exemplo,
user_agent|referer|cookies. -
Os cabeçalhos de requisição não diferenciam maiúsculas de minúsculas. Por exemplo,
http_remote_addreHTTP_Remote_Addrsão considerados o mesmo cabeçalho.
NotaPor padrão, o POP da CDN remove o cabeçalho
Host. Isso ocorre porque o cabeçalhoHostda requisição encaminhada contém o nome de domínio acelerado, que seu servidor de autenticação pode não reconhecer, causando erros 404 ou falhas na autenticação. Para manter o cabeçalhoHost, utilize Retain specified headers ou Add Custom Parameters.Add custom headers
Adiciona cabeçalhos personalizados à requisição que o POP da CDN encaminha ao servidor de autenticação.
Selecione Custom para defina cabeçalhos e valores personalizados, ou escolha Select Parameter para usar variáveis predefinidas do console.
-
Ao defina cabeçalhos e valores personalizados:
-
Separe múltiplos cabeçalhos com uma barra vertical (|), por exemplo,
User-Agent=$http_user_agent|vendor=ali_cdn. -
Os cabeçalhos de requisição não diferenciam maiúsculas de minúsculas. Por exemplo,
http_remote_addreHTTP_Remote_Addrsão considerados o mesmo cabeçalho.
-
-
Ao usar variáveis predefinidas, é possível extrair seus valores e adicioná-los à requisição encaminhada pelo POP da CDN.
Por exemplo, se você selecione a variável
$http_host,host=$http_hostserá adicionado ao cabeçalho da requisição, onde$http_hostcorresponde ao valor do cabeçalho Host na requisição do usuário. Para obter uma lista de variáveis e suas descrições, consulte Nomes de variáveis.
Success status code
Código de status HTTP do seu servidor de autenticação que indica sucesso. Recomendamos o uso de um código de status 2xx.
Por exemplo, se este parâmetro for definido como 200, uma resposta 200 do servidor de autenticação significa sucesso. Caso o servidor retorne um código de status que não corresponda nem ao código de sucesso nem ao de falha, a requisição será tratada como tempo limite esgotado.
Failure status code
Código de status HTTP do seu servidor de autenticação que indica falha. Recomendamos o uso de um código de status 4xx.
Por exemplo, se este parâmetro for definido como 403, uma resposta 403 do servidor de autenticação significa falha. Caso o servidor retorne um código de status que não corresponda nem ao código de sucesso nem ao de falha, a requisição será tratada como tempo limite esgotado.
Custom response status code
Código de status que o POP da CDN retorna ao usuário caso a requisição falhe na autenticação.
Por exemplo, se você defina este valor como 403, o POP da CDN retornará um código de status 403 ao usuário quando a requisição dele falhar na autenticação.
Timeout
Tempo máximo que um POP da CDN aguardará por uma resposta do servidor de autenticação.
Unidade: milissegundos. O valor máximo é 3000.
Action on timeout
Ação executada pelo POP da CDN se a requisição de autenticação ao seu servidor atingir o tempo limite. Valores válidos:
-
allow: se ocorrer tempo limite, o POP da CDN permite a requisição do usuário.
-
reject: se ocorrer tempo limite, o POP da CDN retorna o Custom Response Status Code especificado ao usuário.
-
-
Clique em OK para salve a configuração.
Após configure a autenticação remota, retorne à aba Remote Authentication para modifique as configurações ou desative o recurso.
Nomes de variáveis
Ao adicionar parâmetros personalizados, utilize as seguintes variáveis predefinidas.
|
Parâmetro |
Descrição |
|
$http_host |
Valor do cabeçalho Host na requisição. |
|
$http_user_agent |
Valor do cabeçalho User-Agent na requisição. |
|
$http_referer |
Valor do cabeçalho Referer na requisição. |
|
$http_content_type |
Valor do cabeçalho Content-Type na requisição. |
|
$http_x_forward_for |
Valor do cabeçalho X-Forwarded-For na requisição. |
|
$remote_addr |
Endereço IP do cliente da requisição. |
|
$scheme |
Protocolo da requisição, como |
|
$server_protocol |
Versão do protocolo da requisição, como |
|
$uri |
URI original da requisição. |
|
$args |
String de consulta da requisição. Não inclui o ponto de interrogação ( |
|
$request_method |
Método da requisição. |
|
$request_uri |
URI completa da requisição, incluindo a string de consulta ( |