Вот как выглядит парсер запроса: http://lxr.evanmiller.org/http/source/http/ngx_http_parse.c#L104
После того, как парсер пройдет POST, он перейдет в состояние sw_spaces_before_uri;
Далее, как только встретися буква H, то парсер прервется (строка 292):
switch (ch) {
case ' ':
break;
default:
return NGX_HTTP_PARSE_INVALID_REQUEST;
}
break;
Можно на баше написать скрипт, собрать из лога все такие ip и добавть их в ipset (если у Вас линукс), указав тайм-аут, скажем, минут 30.