Tengo numerosas solicitudes de spam en registros de error/acceso de nginx como:
/bcaashop/collections/new-era-new-era-indiana-pacers-nba-940-a-frame-snapback-black
que estoy bloqueando de esta manera:
if ($query_string ~ "\b(bca*.shop|nike|adidas)\b") { set $block_spam 1; } if ($block_spam = 1) { return 444; }
Pero si la solicitud termina en .json
, por ejemplo:
/bcaashop/collections/new-era-new-era-indiana-pacers-nba-940-a-frame-snapback-black.json
Dará un error 404 en error.log, llenándolo con estos errores de solicitudes similares.
Sospecho que esto se debe a la siguiente regla:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|ttf|json|otf)$ { add_header Cache-Control "public"; expires 7d; }
que contiene json y anula la regla anterior. Intenté cambiar el orden de las reglas, pero sigo obteniendo 404 en lugar de 444.
¿Cómo bloquear las solicitudes con json correctamente? Se agradece cualquier consejo.