Cómo evitar el hotlinking de imágenes en NGINX

El hotlinking de imágenes es cuando otro sitio web se vincula a imágenes en las imágenes de su sitio web sin alojar esas imágenes en su propio servidor. Ralentiza su sitio web y aumenta el ancho de banda de sus datos. Por lo tanto, es importante deshabilitar la vinculación de imágenes en su sitio web. Aquí se explica cómo evitar la vinculación activa de imágenes en NGINX.

Cómo evitar el hotlinking de imágenes en NGINX

Estos son los pasos para evitar el hotlinking de imágenes en NGINX.

1. Abra el archivo de configuración de NGINX

Abra la terminal y ejecute el siguiente comando para abrir el archivo de configuración del servidor NGINX.

$ sudo vi /etc/nginx/nginx.conf

Si ha configurado hosts virtuales separados para su sitio web (por ejemplo, www.website.com), como /etc/nginx/sites-enabled/website.conf, abra su configuración con el siguiente comando

$ sudo vi /etc/nginx/sites-enabled/website.conf

Lectura adicional: Cómo endurecer el servidor NGINX

2. Deshabilite la vinculación activa de imágenes en NGINX

Agregue el siguiente bloque de ubicación dentro del bloque del servidor para evitar la vinculación activa de imágenes en NGINX desde todos los dominios excepto su dominio (por ejemplo, sitio web.com)

location ~ .(gif|png|jpe?g)$ {
   valid_referers none blocked website.com *.website.com;
   if ($invalid_referer) {
      return 403;
   }
}

Veamos el código anterior línea por línea. La primera línea coincidirá con varias extensiones de archivo de imagen. Si desea agregar cualquier otra extensión, puede agregar una nueva tubería “|” junto con la nueva extensión.

En la siguiente línea, valid_referers enumera todos los dominios que pueden vincularse a las imágenes de su sitio web. Mencione su sitio web (por ejemplo, website.com) en él. También puede agregar cualquier otro dominio al que desee otorgar acceso. También puede incluir direcciones IP aquí.

Si la solicitud proviene de un dominio/IP que no se menciona en valid_referers, NGINX lo incluirá en invalid_referer y devolverá la respuesta “403: Acceso prohibido”.

Lectura adicional: Cómo configurar hosts virtuales NGINX en CentOS

Si desea evitar la vinculación activa de archivos en un directorio específico, como /uploads/, agregue las siguientes líneas en su archivo de configuración de NGINX.

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

Lectura adicional: Cómo habilitar CORS en NGINX

3. Reinicie el servidor NGINX

Finalmente, ejecute el siguiente comando para verificar la sintaxis de su archivo de configuración actualizado.

$ sudo nginx -t

Si no hay errores, ejecute el siguiente comando para reiniciar el servidor NGINX.

$ sudo service nginx reload #debian/ubuntu
$ systemctl restart nginx #redhat/centos

¡Eso es todo! Con suerte, el tutorial anterior lo ayudará a evitar el hotlinking de imágenes en NGINX.

CodePre facilita la visualización de datos en minutos y el monitoreo en paneles en tiempo real. ¡Pruébalo hoy!

Acerca de CodePre

CodePre es una poderosa plataforma de informes y tableros para pequeñas y medianas empresas. Cree paneles, gráficos e informes para su negocio en minutos. Obtenga información de los datos rápidamente. ¡Pruébalo gratis hoy!

Related Posts