我在 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 的請求?任何提示表示讚賞。