Блокуємо доступ до сайту через NGINX

nginx

Бувають випадки, коли потібно обмежити доступ до сайту для окремих IP або підмереж, або навпаки – залишити доступ тільки для обраних IP. Найзручніше обмежити доступ можна через iptables або .htaccess. У цьому дописі розглянемо як обмежити доступ ще в один спосіб – через веб-сервер NGINX.

nginx [engine x] – це HTTP-сервер та зворотний проксі-сервер, поштовий проксі-сервер, а також TCP/UDP проксі-сервер загального призначення. Має широке розповсюдження через свою швидкість, надійність та легкість в налаштуванні.

Файл конфігурації NGINX знаходиться в директорії: /etc/nginx/nginx.conf

Блокуємо 192.168.0.1 для доступу до сайту hosting-service.com.ua:

server {
  server hosting-service.com.ua;
  deny 192.168.0.1;
  allow all;
}

Блокуємо все окрім 192.168.0.1 для доступу до сайту hosting-service.com.ua:

server {
  server hosting-service.com.ua;
  deny all;
  allow 192.168.0.1;
}

Блокуємо кілька IP (192.168.0.1, 192.168.0.10) для доступу до сайту hosting-service.com.ua:

server {
  server hosting-service.com.ua;
  deny 192.168.0.1;
  deny 192.168.0.10;
  alow all;
}

Блокуємо підмережу 192.168.0.1/24 для доступу до сайту hosting-service.com.ua:

server {
  server hosting-service.com.ua;
  deny 192.168.0.1/24;
  allow all;
}

Після внесення змін до файлу конфігурації, перевірте правильність синтаксису командою: nginx -t

Має бути:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Якщо ok, то перезапускаємо nginx щоб наші зміни набрали силу: service nginx restart

Схожі публікації