Saltar al contenido principal
Productos
  • Todos los productos
  • Angie PRO
  • Angie
  • ANIC
  • Angie ADC
Documentación
Soporte
  • Soporte técnico
  • Servicios profesionales
  • Foro
Empresa
  • Sobre nosotros
  • Noticias
  • Carreras
  • Contactos
  • Socios
  • Documentos legales
  • Noticias
  • Soporte
Ctrl+K
Русский 简中 English Português
Inicio Acerca de Angie Configuración Módulos Integrados Módulo HTTP Secure Link
  • Acerca de Angie
  • Productos
  • Soporte y Servicios
  • Sobre nosotros
  • Documentos Legales

  • Acerca de
    • Versiones de Angie
    • Versiones de Angie PRO
  • Instalación
    • Paquetes
    • Docker
    • Código fuente
    • Angie PRO
    • Módulos externos
      • Auth JWT
      • Auth LDAP
      • Auth PAM
      • Auth SPNEGO
      • Brotli
      • Cache Purge
      • CGI
      • DAV Ext
      • Echo
      • Memcached mejorado
      • Eval
      • GeoIP2
      • Headers More
      • Keyval
      • ModSecurity
      • NDK
      • OpenTracing
      • OTel
      • Postgres
      • Redis2
      • RTMP
      • Set Misc
      • Subs
      • Unbrotli
      • VOD
      • VTS
      • Zstandard
    • Otros métodos
  • Configuración
    • Archivos de Configuración
    • Control en Tiempo de Ejecución
    • Manejo de Conexiones
    • Módulos
      • Módulo Core
      • Módulo HTTP
        • Acceso
        • ACME
        • Adición
        • 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
    • Directivas
    • Variables
    • Migrando desde nginx
    • Configurando ACME
    • Configurando ModSecurity
    • Configurando SSL
    • Panel Web Console Light
    • Dashboard de Prometheus
  • Solución de problemas
  • Desarrollo

Secure Link#

El módulo permite verificar la autenticidad de los enlaces solicitados, proteger recursos contra accesos no autorizados y limitar la vida útil de los enlaces.

La autenticidad de un enlace solicitado se verifica comparando el valor de suma de comprobación pasado en una solicitud con el valor calculado para la solicitud. Si un enlace tiene una vida útil limitada y el tiempo ha expirado, el enlace se considera caducado. El estado de estas comprobaciones está disponible en la variable $secure_link.

El módulo implementa dos modos de operación alternativos. El primer modo se habilita mediante la directiva secure_link_secret y permite verificar la autenticidad de los enlaces solicitados y protegerlos contra accesos no autorizados. El segundo modo se habilita mediante las directivas secure_link y secure_link_md5 y también permite limitar la vida útil del enlace.

Al compilar desde el código fuente, este módulo no se compila por defecto; debe habilitarse con la opción de compilación --with-http_secure_link_module.

En paquetes e imágenes de nuestros repositorios, el módulo está incluido en la compilación.

Directivas#

secure_link#

Sintaxis

secure_link expresión;

Predeterminado

—

Contexto

http, server, location

Define una cadena con variables de las que se extraerá el valor de suma de comprobación y la vida útil de un enlace.

Las variables utilizadas en una expresión generalmente están asociadas con una solicitud; ver ejemplo a continuación.

El valor de suma de comprobación extraído de la cadena se compara con el valor hash MD5 de la expresión definida por la directiva secure_link_md5.

Si las sumas de comprobación no coinciden, la variable $secure_link se establece en una cadena vacía. Si las sumas de comprobación coinciden, se verifica la vida útil del enlace.

Si el enlace tiene una vida útil limitada y el tiempo ha expirado, la variable $secure_link se establece en 0. De lo contrario, se establece en 1. El valor hash MD5 pasado en una solicitud está codificado en base64url.

Si un enlace tiene una vida útil limitada, el tiempo de expiración se establece en segundos desde la Época (1 de enero de 1970 00:00:00 GMT). El valor se especifica en la expresión después del hash MD5 y está separado por una coma. El tiempo de expiración pasado en una solicitud está disponible a través de la variable $secure_link_expires para su uso en la directiva secure_link_md5. Si no se especifica el tiempo de expiración, un enlace tiene una vida útil ilimitada.

secure_link_md5#

Sintaxis

secure_link_md5 expresión;

Predeterminado

—

Contexto

http, server, location

Define una expresión para la cual se calculará el valor hash MD5 y se comparará con el valor pasado en una solicitud.

La expresión debe contener la parte segura de un enlace (recurso) y un ingrediente secreto. Si el enlace tiene una vida útil limitada, la expresión también debe contener $secure_link_expires.

Para evitar el acceso no autorizado, la expresión puede contener información sobre el cliente, como su dirección y versión del navegador.

Ejemplo:

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;
    }

#    ...
}

El enlace "/s/link?md5=_e4Nc3iduzkWRm01TBBNYw&expires=2147483647" restringe el acceso a "/s/link" para el cliente con la dirección IP 127.0.0.1. El enlace también tiene una vida útil limitada hasta el 19 de enero de 2038 (GMT).

En UNIX, el valor del argumento md5 de la solicitud se puede obtener como:

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

secure_link_secret#

Sintaxis

secure_link_secret palabra;

Predeterminado

—

Contexto

location

Define una palabra secreta utilizada para verificar la autenticidad de los enlaces solicitados.

El URI completo de un enlace solicitado se ve de la siguiente manera:

/prefijo/hash/enlace

donde hash es una representación hexadecimal del hash MD5 calculado para la concatenación del enlace y la palabra secreta, y prefijo es una cadena arbitraria sin barras.

Si el enlace solicitado pasa la verificación de autenticidad, la variable $secure_link se establece en el enlace extraído del URI de la solicitud. De lo contrario, la variable $secure_link se establece en una cadena vacía.

Ejemplo:

location /p/ {
    secure_link_secret secret;

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

    rewrite ^ /secure/$secure_link;
}

location /secure/ {
    internal;
}

Una solicitud de "/p/5e814704a28d9bc1914ff19fa0c4a00a/link" será redirigida internamente a "/secure/link".

En UNIX, el valor hash para este ejemplo se puede obtener como:

echo -n 'linksecret' | openssl md5 -hex

Variables Incorporadas#

$secure_link#

El estado de la verificación de un enlace. El valor específico depende del modo de operación seleccionado.

$secure_link_expires#

El tiempo de vida de un enlace pasado en una solicitud; destinado a ser utilizado solo en la directiva secure_link_md5.

Contenido
  • Directivas
    • secure_link
    • secure_link_md5
    • secure_link_secret
  • Variables Incorporadas
    • $secure_link
    • $secure_link_expires

El sitio web https://es.angie.software/ utiliza cookies para garantizar una experiencia conveniente. El procedimiento para la recopilación y el uso de cookies está definido en la Política de Tratamiento de Datos Personales del Operador.

Si aceptas seguir usando cookies, haz clic en el botón «Confirmar». Si no estás de acuerdo, puedes cambiar la configuración de tu navegador.

Contactos

+7 (495) 120 50 33
info@wbsrv.ru
Noticias en TG

Información legal

INN: 9704151517
OGRN: 1227700436578
Documentos legales
Normas de uso del sitio web

Productos y documentación

Angie
Angie PRO
ANIC
Documentación de Angie

Soporte

Soporte técnico
Servicios profesionales
Foro
Soporte en TG

Angie Software (Web Server, LLC) es una empresa de TI rusa especializada en soluciones para sistemas de alta carga. Nuestros productos incluyen la plataforma de balanceo de carga Angie ADC (Application Delivery Controller), el servidor web Angie PRO y Angie Ingress Controller (ANIC), una solución de gestión de tráfico para aplicaciones contenerizadas en Kubernetes. Estamos especialmente orgullosos de nuestro servidor web de código abierto Angie, desarrollado como un fork de nginx con el objetivo de superar al original en funcionalidad.