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을 포함하고 위의 규칙을 재정의합니다. 규칙 순서를 변경하려고 했지만 여전히 444 대신 404가 표시됩니다.
json으로 요청을 올바르게 차단하는 방법은 무엇입니까? 어떤 팁이라도 감사하겠습니다.