尝试在 nginx 中阻止垃圾请求

尝试在 nginx 中阻止垃圾请求

我在 nginx 访问/错误日志中发现大量垃圾请求,例如:

/bcaashop/collections/new-era-new-era-indiana-pacers-nba-940-a-frame-snapback-black

我以这种方式阻止:

if ($query_string ~ "\b(bca*.shop|nike|adidas)\b") { set $block_spam 1; } if ($block_spam = 1) { return 444; }

但如果请求以以下形式结束.json- 例如:

/bcaashop/collections/new-era-new-era-indiana-pacers-nba-940-a-frame-snapback-black.json

它将在 error.log 中给出 404 错误,并用这些类似的请求错误填充它。

我怀疑这是由于以下规则:

location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|ttf|json|otf)$ { add_header Cache-Control "public"; expires 7d; }

其中包含 json 并覆盖上述规则。我尝试更改规则顺序,但仍然得到 404 而不是 444。

如何正确阻止使用 json 的请求?任何提示都值得赞赏。

相关内容