Материал из Wiki.X-news.org
Перейти к: навигация, поиск

Иногда возникает необходимость запретить доступ к сайту определенному IP или подсети. Если сайт работает на веб-сервере Apache, то все просто: мы прописываем нужное правило в файл .htaccess и доступ сразу у нежелательного посетителя сразу пропадает.

Но что делать, если вместо Apache мы используем nginx?

Как оказалось, настройка запрета доступа на nginx абсолютно несложная.

Итак, открываем конфигурационный файл nginx.conf, ищем секцию, в которой описывается конфигурация вашего сайта и добавляем правило, запрещающее доступ IP адресу к сайту (добавленные строки выделил жирным):

   location / {
   try_files $uri $uri/ /index.php?q=$uri&$args;
   deny    109.207.13.60;
   allow   all;
  }

Сохраняем файл конфигурации, выходим из редактора и перезапускаем nginx:

nginx -s reload

После перезапуска пользователь с IP адресом 109.207.13.60 при попытке входа получит 403 ошибку (доступ запрещен)