@supspec

Как научить nginx отдавать 404 вместо 403 при блокировке клиента по ip?

Добрый день, есть сервер с nginx и кучей сайтов. Стоит задача - блокировать спамеров на всех сайтах по ip range (решено через модуль ngx_http_access_module на уровне http) и отдавать им не 403 Forbidden (в этом случае спамер просто меняет прокси), а 404 Not Found.
Желательно решение также на уровне http.
  • Вопрос задан
  • 1311 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mysterion
Я бы положил куда-нибудь файл со списком адресов, которые надо блокировать, а в конфиге nginx:
map $geo{
    include path/to/file;
}
server {
    if ($geo) {
        return 404;
    }
}

А файле адреса в формате:
ip key
nginx.org/ru/docs/http/ngx_http_geo_module.html
Ответ написан
Lynn
@Lynn
nginx, js, css
Написать рядом:
error_page 403 =404;

Но имейте в виду, что это будет работать для всех 403 ответов от nginx.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы