NGINX: Как захватить/регистрировать IP-адрес, посещающий указанное местоположение, в текстовом файле

NGINX: Как захватить/регистрировать IP-адрес, посещающий указанное местоположение, в текстовом файле

Я хотел бы иметь возможность регистрировать/захватывать IP-адреса посетителей определенного местоположения на моих сайтах. Идея состоит в том, чтобы иметь 2 файла conf, которые будут использоваться для внесения в белый или черный список.

  • Плохие парни могут быть автоматически внесены в список и заблокированы сервером.
  • Администраторы могут зайти на секретный адрес, чтобы добавить свой IP-адрес в белый список, прежде чем получить доступ к административной области.

Проблема в том, что я не могу найти, как заставить nginx записывать IP-адреса в мои файлы конфигурации.

Пример:

location ~* ^/(trustme)/?$
    add "allow X.X.X.X;" to /etc/nginx/conf.d/trusted-ips.conf;
}

location ~* ^/(admin|wp-admin|control)/?$
    add "deny Y.Y.Y.Y;" to /etc/nginx/conf.d/blacklisted_ips.conf;
}

Спасибо

решение1

Насколько я понимаю, вы хотите добавить доверенные IP-адреса в один файл, а затем разрешить их в определенном месте, а подозрительные IP-адреса переместить в другой файл, а затем наложить на них какие-то ограничения?

Если я правильно понял, вы можете awk IP страницы 1

awk '$7 ~ /^\/page1?/ {print $1}' /path/to/access.log | sort -u > result.txt

а затем awk IP на странице 2 или администраторе с помощью той же команды и сохраните их в другом месте.

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