Bloquear múltiples solicitudes en un archivo eliminado

Bloquear múltiples solicitudes en un archivo eliminado

Alojé un archivo JavaScript en mi servidor que ejecutaba Wordpress en Nginx. Eliminé el archivo pero todavía hay varias solicitudes de múltiples referentes. Estas referencias provienen de diferentes URL y direcciones IP.

Hay MUCHAS solicitudes y quiero bloquearlas porque parece afectar el rendimiento de mi servidor.

¿Hay alguna manera de bloquear estas solicitudes?

Respuesta1

Me imagino que obtendrás una ganancia de rendimiento cuando configures nginx explícitamente para que la ubicación del antiguo javascript ya no sea válida, ya que nginx ya no necesitará verificar el sistema de archivos, y cuando envíes un error 410, no será necesario. para enviar la página de error 404:

location /path/to/script.js {
return 410 ; 
}

Código de estado HTTP 410: desaparecido

El recurso solicitado ya no está disponible en el servidor y no se conoce ninguna dirección de reenvío. Se espera que esta condición se considere permanente. Los clientes con capacidades de edición de enlaces DEBEN eliminar las referencias al URI de solicitud después de la aprobación del usuario. Si el servidor no sabe, o no tiene capacidad para determinar, si la condición es permanente o no, DEBE usarse en su lugar el código de estado 404 (No encontrado). Esta respuesta se puede almacenar en caché a menos que se indique lo contrario.

La respuesta 410 tiene como objetivo principal ayudar en la tarea de mantenimiento web notificando al destinatario que el recurso no está disponible intencionalmente y que los propietarios del servidor desean que se eliminen los enlaces remotos a ese recurso. Un evento de este tipo es común para servicios promocionales por tiempo limitado y para recursos que pertenecen a personas que ya no trabajan en el sitio del servidor. No es necesario marcar todos los recursos no disponibles permanentemente como "desaparecidos" ni mantener la marca durante un período de tiempo determinado; eso queda a discreción del propietario del servidor.

Respuesta2

location = /deleted.js {
    default_type    text/plain;
    return      410 "410";
    #access_log off;
}

Es posible que desees desactivar el registro de acceso como se indica arriba o, si estás ejecutando un nginx suficientemente nuevo, configuraraccess_logpara hacer buffering. El acceso al disco es generalmente muy costoso y es probable que sea lo que lo frena.

Por cierto, usar returnautomáticamente implica log_not_found off;, por lo tanto, ya es mejor que simplemente dejar que vfs genere el 404.

Respuesta3

Esta es una idea que utiliza el módulo de cadena de iptable para verificar el contenido del encabezado http; por supuesto, debe adaptarse a su caso especial:http://spamcleaner.org/en/misc/w00tw00t.html

Sin embargo, no estoy realmente seguro de qué sería más rápido entre inspeccionar todos los paquetes entrantes y hacer que su servidor web los maneje. Eventualmente, simplemente agregaría una línea en la configuración del servidor para devolver inmediatamente un 404 en esa URL específica; El tráfico disminuirá automáticamente con el tiempo, a medida que los webmasters y los motores de búsqueda corrijan sus enlaces (y lo harán, ya que los errores 404 causarían un mal posicionamiento en los motores de búsqueda web modernos).

información relacionada