Отключение нежелательных подключений

Я хочу заблокировать нежелательные боты от доступа к сайтам на сервере.

Может ли nginx сразу же удалить/убить соединение, когда обнаружен определенный Бот?

if ($http_user_agent ~ (agent1|agent2) ) {
    **KILL CONNECTION**;
}

Что-то вроде примера выше.

Ответ 2

Да, это возможно. См. Вопрос ниже - это перенаправление на основе строки агента, но вы действительно можете делать все, что хотите (страница с ошибкой или что-то еще).

Nginx proxy или переписать в зависимости от пользовательского агента

Однако, обратите внимание, что приличный бот будет подделывать свою строку пользовательского агента, чтобы выглядеть так же, как обычный браузер, поэтому это отнюдь не является надежным способом удержать ботов от подметания вашего сайта.

Ответ 3

server {
  listen 8443 default ssl;
  error_page 404 403 = 444; #disconnect if 404 or 403
  root /srv/empty;  #Empty forder
  ...
  ...

  location /summary_report{
        root /srv/www;
        index index.html index.htm;
  }
}

https://127.0.0.1/                                         Disconnect.
https://127.0.0.1/summary_report     Не отсоединяться.