Можно ли настроить nginx так, чтобы он отправлял нулевые данные ответа и немедленно закрывал соединение?

Можно ли настроить nginx так, чтобы он отправлял нулевые данные ответа и немедленно закрывал соединение?

Можно ли настроить nginx так, чтобы он отправлял нулевые данные ответа и немедленно закрывал соединение? Я пытаюсь избежать отправки абсолютно любых исходящих данных для определенного класса входящих соединений.

Я нашел возможное решение здесьhttps://stackoverflow.com/a/17010681/68788несколько лет назад:

location /ip/ {
    keepalive_timeout 0;
}

Но я не знаю, keepalive_timeout 0;удержит ли это nginx от отправки исходящих заголовков при закрытии соединения.

Для справки: несколько месяцев назад один из моих сайтов стал целью массивной DDoS-атаки. Мне пришлось перейти на WAF (брандмауэр веб-приложений) Cloudflare, чтобы отфильтровать входящий трафик. Общий входящий + исходящий трафик увеличился на 3000%, и расходы могли быть просто ужасными.

Входящая атака продолжается до сих пор. Терабайты бесполезного трафика каждый день в течение месяцев.

Однако оказалось, что возникла неожиданная проблема с прокси-сервером WAF от Cloudflare, из-за которой некоторые части моего сервиса не работают правильно. (Для этого вопроса подробности не имеют значения. Я уже несколько недель копаюсь в этой кроличьей норе, и проблема в том, как Cloudflare терминирует трафик ipv4 и ipv6.)

Теперь я думаю, что мне, возможно, придется развернуть другое решение, чтобы исправить службу. Я мог бы справиться с этим, если бы я мог заставить nginx отправлять абсолютно нулевые исходящие данные для класса входящих соединений, на которые я нацеливаюсь. Основная цель — иметь 0 исходящих затрат на передачу данных для завершения входящих соединений, которые я отфильтровываю.

Будем признательны за любую помощь.

решение1

Использоватьвозвращаться444;

Из документации:

Останавливает обработку и возвращает указанный код клиенту. Нестандартный код 444 закрывает соединение без отправки заголовка ответа.

Связанный контент