Я хотел бы иметь возможность регистрировать/захватывать 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 или администраторе с помощью той же команды и сохраните их в другом месте.