Nginx и Apache как первый слой фильтрации трафика: без магии и самообмана
Разберем техническую составляющую реализации. Входящий запрос надо резать не «по ощущениям», а по признакам: IP/ASN, User-Agent, referer, Accept-Language, geo и поведение cookie. Если фильтр не видит цепочку прохождения запроса, он не фильтр, а декорация.
Для Nginx рабочая база выглядит так: map по User-Agent и рефереру, geo по странам, limit_req для шумных сегментов, deny/allow для сетей с плохой репутацией. Важно не лепить десятки if в server{} — это быстро превращается в нечитабельный backend-хаос. Логи access/error должны сразу показывать, почему запрос ушел в 403 или на заглушку.
Apache удобен там, где нужна гибкая логика на уровне mod_rewrite и mod_remoteip. Но и здесь правило одно: сначала нормализуем real IP из прокси-цепочки, потом сравниваем заголовки, потом принимаем решение. Иначе в логах будет один адрес, а фильтровать вы будете другой, невидимый слой сети.
Проверка цепочки прохождения запроса обязательна: прямой заход, заход через прокси, смена UA, отключенный referer, пустые cookies. Если поведение не сходится с логикой, значит где-то потерян заголовок, не тот порядок модулей или backend отдает не тот статус.
Конфиг готов, можно деплоить. Дальше только верификация по логам и контроль расхождений: хороший фильтр не угадывает, а детерминированно классифицирует трафик.
Клоакинг: разборы
@cloaking_lab_arb
Nginx и Apache как первый слой фильтрации трафика: без магии и самообмана
Этот пост опубликован в Telegram-канале Клоакинг: разборы. Подписаться можно по ссылке: @cloaking_lab_arb.