Pular para o conteúdo principal
Produtos
  • Todos os Produtos
  • Angie PRO
  • Angie
  • ANIC
  • Angie ADC
Documentação
Suporte
  • Suporte Técnico
  • Serviços Profissionais
  • Fórum
Empresa
  • Sobre Nós
  • Notícias
  • Carreiras
  • Contatos
  • Parceiros
  • Documentos Legais
  • Notícias
  • Suporte
Ctrl+K
Русский 简中 English Español
Início Sobre o Angie Configuração Módulos Integrados Módulo HTTP Secure Link
  • Sobre o Angie
  • Produtos
  • Suporte e Serviços
  • Sobre Nós
  • Documentos Legais

  • Sobre
    • Versões do Angie
    • Versões do Angie PRO
  • Instalação
    • Pacotes
    • Docker
    • Código-fonte
    • Angie PRO
    • Módulos externos
      • Auth JWT
      • Auth LDAP
      • Auth PAM
      • Auth SPNEGO
      • Brotli
      • Cache Purge
      • CGI
      • DAV Ext
      • Echo
      • Memcached Aprimorado
      • Eval
      • GeoIP2
      • Headers More
      • Keyval
      • ModSecurity
      • NDK
      • OpenTracing
      • OTel
      • Postgres
      • Redis2
      • RTMP
      • Set Misc
      • Subs
      • Unbrotli
      • VOD
      • VTS
      • Zstandard
    • Outras formas
  • Configuração
    • Arquivos de Configuração
    • Controle em Tempo de Execução
    • Gerenciamento de Conexões
    • Módulos
      • Módulo Core
      • Módulo HTTP
        • Acesso
        • ACME
        • Adição
        • API
        • Auth Basic
        • Auth Request
        • AutoIndex
        • Browser
        • Charset
        • DAV
        • Docker
        • Empty GIF
        • FastCGI
        • FLV
        • Geo
        • GeoIP
        • gRPC
        • GunZIP
        • GZip
        • GZip Static
        • Headers
        • Image Filter
        • Index
        • JS
        • Limit Conn
        • Limit Req
        • Log
        • Map
        • Memcached
        • Mirror
        • MP4
        • Perl
        • Prometheus
        • Proxy
        • Random Index
        • RealIP
        • Referer
        • Rewrite
        • SCGI
        • Secure Link
        • Slice
        • Split Clients
        • SSI
        • SSL
        • Stub Status
        • Sub
        • Upstream
        • Upstream Probe
        • UserID
        • uWSGI
        • HTTP/2
        • HTTP/3
        • XSLT
      • Módulo Stream
        • Access
        • ACME
        • Geo
        • GeoIP
        • JS
        • Limit Conn
        • Log
        • Map
        • MQTT Preread
        • Pass
        • Proxy
        • RDP Preread
        • RealIP
        • Return
        • Set
        • Split Clients
        • SSL
        • SSL Preread
        • Upstream
        • Upstream Probe
      • Módulo Mail
        • AUTH HTTP
        • IMAP
        • POP3
        • Proxy
        • RealIP
        • SMTP
        • SSL
      • Módulo Google PerfTools
      • Módulo WASM
        • WAMR
        • Wasmtime
    • Diretivas
    • Variáveis
    • Migrando do nginx
    • Configurando ACME
    • Configurando ModSecurity
    • Configurando SSL
    • Painel Web Console Light
    • Dashboard Prometheus
  • Solução de Problemas
  • Desenvolvimento

Secure Link#

O módulo permite verificar a autenticidade de links solicitados, proteger recursos de acesso não autorizado e limitar o tempo de vida dos links.

A autenticidade de um link solicitado é verificada comparando o valor do checksum passado em uma requisição com o valor computado para a requisição. Se um link tem um tempo de vida limitado e o tempo expirou, o link é considerado desatualizado. O status dessas verificações é disponibilizado na variável $secure_link.

O módulo implementa dois modos de operação alternativos. O primeiro modo é habilitado pela diretiva secure_link_secret e permite verificar a autenticidade de links solicitados e protegê-los de acesso não autorizado. O segundo modo é habilitado pelas diretivas secure_link e secure_link_md5 e também permite limitar o tempo de vida dos links.

Ao compilar a partir do código fonte, este módulo não é compilado por padrão; ele deve ser habilitado com a ‑‑with‑http_secure_link_module opção de compilação.

Em pacotes e imagens dos nossos repositórios, o módulo está incluído na compilação.

Diretivas#

secure_link#

Sintaxe

secure_link expression;

Padrão

—

Contexto

http, server, location

Define uma string com variáveis das quais o valor do checksum e o tempo de vida de um link serão extraídos.

Variáveis usadas em uma expressão são geralmente associadas a uma requisição; veja exemplo abaixo.

O valor do checksum extraído da string é comparado com o valor hash MD5 da expressão definida pela diretiva secure_link_md5.

Se os checksums não coincidirem, a variável $secure_link é definida como uma string vazia. Se os checksums coincidirem, o tempo de vida do link é verificado.

Se o link tem um tempo de vida limitado e o tempo expirou, a variável $secure_link é definida como 0. Caso contrário, ela é definida como 1. O valor hash MD5 passado em uma requisição é codificado em base64url.

Se um link tem um tempo de vida limitado, o tempo de expiração é definido em segundos desde a Época (1º de janeiro de 1970 00:00:00 GMT). O valor é especificado na expressão após o hash MD5, e é separado por uma vírgula. O tempo de expiração passado em uma requisição está disponível através da variável $secure_link_expires para uso na diretiva secure_link_md5. Se o tempo de expiração não for especificado, um link tem tempo de vida ilimitado.

secure_link_md5#

Sintaxe

secure_link_md5 expression;

Padrão

—

Contexto

http, server, location

Define uma expressão para a qual o valor hash MD5 será computado e comparado com o valor passado em uma requisição.

A expressão deve conter a parte segura de um link (recurso) e um ingrediente secreto. Se o link tem um tempo de vida limitado, a expressão também deve conter $secure_link_expires.

Para prevenir acesso não autorizado, a expressão pode conter algumas informações sobre o cliente, como seu endereço e versão do navegador.

Exemplo:

location /s/ {
    secure_link $arg_md5,$arg_expires;
    secure_link_md5 "$secure_link_expires$uri$remote_addr secret";

    if ($secure_link = "") {
        return 403;
    }

    if ($secure_link = "0") {
        return 410;
    }

#    ...
}

O link "/s/link?md5=_e4Nc3iduzkWRm01TBBNYw&expires=2147483647" restringe o acesso a "/s/link" para o cliente com o endereço IP 127.0.0.1. O link também tem tempo de vida limitado até 19 de janeiro de 2038 (GMT).

No UNIX, o valor do argumento de requisição md5 pode ser obtido como:

echo -n '2147483647/s/link127.0.0.1 secret' | \
   openssl md5 -binary | openssl base64 | tr +/ -_ | tr -d =

secure_link_secret#

Sintaxe

secure_link_secret word;

Padrão

—

Contexto

location

Define uma palavra secreta usada para verificar a autenticidade de links solicitados.

A URI completa de um link solicitado se parece com o seguinte:

/prefix/hash/link

onde hash é uma representação hexadecimal do hash MD5 computado para a concatenação do link e palavra secreta, e prefix é uma string arbitrária sem barras.

Se o link solicitado passa na verificação de autenticidade, a variável $secure_link é definida como o link extraído da URI da requisição. Caso contrário, a variável $secure_link é definida como uma string vazia.

Exemplo:

location /p/ {
    secure_link_secret secret;

    if ($secure_link = "") {
        return 403;
    }

    rewrite ^ /secure/$secure_link;
}

location /secure/ {
    internal;
}

Uma requisição de "/p/5e814704a28d9bc1914ff19fa0c4a00a/link" será redirecionada internamente para "/secure/link".

No UNIX, o valor hash para este exemplo pode ser obtido como:

echo -n 'linksecret' | openssl md5 -hex

Variáveis Integradas#

$secure_link#

O status de uma verificação de link. O valor específico depende do modo de operação selecionado.

$secure_link_expires#

O tempo de vida de um link passado em uma requisição; destinado a ser usado apenas na diretiva secure_link_md5.

Conteúdo
  • Diretivas
    • secure_link
    • secure_link_md5
    • secure_link_secret
  • Variáveis Integradas
    • $secure_link
    • $secure_link_expires

O site https://en.angie.software/ utiliza cookies para garantir uma experiência conveniente. O procedimento para coleta e uso de cookies está definido na Política de Tratamento de Dados Pessoais do Operador.

Se você concorda em continuar usando cookies, clique no botão "Confirmar". Se você não concorda, pode alterar as configurações do seu navegador.

Contatos

+7 (495) 120 50 33
info@wbsrv.ru
Notícias no TG

Informações Legais

INN: 9704151517
OGRN: 1227700436578
Documentos Legais
Regras de Uso do Site

Produtos e Documentação

Angie
Angie PRO
ANIC
Documentação Angie

Suporte

Suporte Técnico
Serviços Profissionais
Fórum
Suporte no TG

Angie Software (Web Server, LLC) é uma empresa russa de TI especializada em soluções para sistemas de alta carga. Nossos produtos incluem a plataforma de balanceamento de carga Angie ADC (Application Delivery Controller), o servidor web Angie PRO e o Angie Ingress Controller (ANIC), uma solução de gerenciamento de tráfego para aplicações conteinerizadas em Kubernetes. Temos especial orgulho do nosso servidor web de código aberto Angie, desenvolvido como um fork do nginx com o objetivo de superar o original em funcionalidade.