nginx: игнорировать некоторые запросы без правильного заголовка хоста
В nginx, чтобы сбросить соединение, я могу вернуть 444, однако есть проблема с этим IMO. Похоже, что 444 не прерывает молча соединение, но фактически закрывает его изящно, в результате инструменты, которые используют все эти спамеры, быстро повторят запрос:
149.56.28.239 - - [22/Sep/2016:20:33:18 +0200] "PROPFIND /webdav/ HTTP/1.1" 444 0 "-" "WEBDAV Client"
149.56.28.239 - - [22/Sep/2016:20:33:18 +0200] "PROPFIND /webdav/ HTTP/1.1" 444 0 "-" "WEBDAV Client"
Есть ли способ прервать tcp (не изящно, как если бы мой сервер был внезапно отключен от сети), чтобы на конце запрашивающего он продолжал ждать? Есть ли какие-либо недостатки / проблемы с этим и возможно ли это с nginx?
Чтобы отбрасывать запросы без заголовка Host в nginx, вы используете следующую конфигурацию:
server {
listen 80;
return 444;
}
Есть ли способ обработать некоторые из этих запросов, например, если запрошенный URL соответствует некоторому регулярному выражению?