variables disponibles para NGINX

variables disponibles para NGINX

Quiero entregar un archivo sin formato si se está vinculando, pero reescribir la URL si alguien visita el archivo en su navegador.

He visto este ejemplo de hotlinking varias veces:

location /pictures/ {
   valid_referers none blocked mywebsite.com *.mywebsite.com;
   if ($invalid_referer) {
      return   403;
  }
}

PERO, ¿cómo puedo referirme a referentes válidos? Estoy intentando entregar el archivo sin formato solicitado si está vinculado desde otra página (enlace activo).

Si alguien está viendo ese archivo en un navegador, quiero agregar algo de HTML (es decir, reescribirlo en otra URL);

¿Qué variables están disponibles aparte de $invalid_referer?

He intentado:

if( !$invalid_referer){
    return 403; #allow hot-linking only;
}

Y no veo ninguna mención de otras variables disponibles en la documentación.http://nginx.org/en/docs/http/ngx_http_referer_module.html

Respuesta1

Puedes comprobar el valor de$referidor_inválido

Desde elDocumentación:

Especifica los valores del campo del encabezado de solicitud "Referer" que harán que la variable incrustada $invalid_referer se establezca en una cadena vacía. De lo contrario, la variable se establecerá en "1". La búsqueda de una coincidencia no distingue entre mayúsculas y minúsculas.

if($invalid_referer = ""){
    return 403; #allow hot-linking only;
}

tu también podrías hacer

if($invalid_referer != "1"){
    return 403; #allow hot-linking only;
}

información relacionada