How to Whitelist IP in Nginx

Как добавить IP-адрес в белый список в Nginx в 2023 году – блог PureVPN

3 Mins Read

PureVPNКак добавить IP-адрес в белый список в Nginx в 2023 году – блог PureVPN

Что такое Nginx?

Nginx – это веб-сервер, который часто используется в качестве обратного прокси, почтового прокси, балансировщика нагрузки и HTTP-кэша. Он был первоначально выпущен 4 октября 2004 года, и с тех пор он зарекомендовал себя сильным среди веб-сообщества.

Согласно опросу веб-серверов 2016 года, Nginx был вторым по широкому использованию веб-сервером в категории «активных» сайтов. К февралю 2020 года Netcraft оценил, что Nginx обслуживает как минимум 36,48% всех активных сайтов, взятых в рейтинг, что делает его первым по сравнению с Apache, на котором работают 24,51% сайтов.

Как работает Nginx?

Nginx разработан для обеспечения низкого использования памяти и высокой конкурентоспособности. В Интернете каждую секунду делается несколько запросов. Nginx использует технологию параллелизма и событийно-ориентированный подход, при котором каждый запрос обрабатывается с помощью одного потока, а не генерируются новые процессы для каждого запроса, который приходит на его путь.

Некоторые заметные функции, которые можно заметить в Nginx, включают:

  • Реверсивный прокси (lit. “reverse proxy”)
  • Кэширование HTTP
  • Балансировка нагрузки.
  • IPv6 (Интернет-протокол версии 6)
  • Поддержка FastCGI с кэшированием.
  • WebSockets – Веб-сокеты
  • Обработка статических файлов, индексных файлов и автоматического индексирования.

Шаги по составлению белого списка IP-адресов в Nginx

1. Открыть конфигурационный файл NGINX.

Запустите следующую команду, если вы используете основной конфигурационный файл NGINX:

$ sudo vi /etc/nginx/nginx.conf

Если вы настроили отдельные виртуальные хосты для своего сайта (например, www.example.com), то откройте его конфигурацию следующей командой:

$ sudo vi /etc/nginx/sites-enabled/example.conf

2. Добавьте IP-адрес в белый список в Nginx.

Например, если вы хотите добавить IP-адрес 34.46.12.32 в белый список для определенного домена или веб-сайта, просто добавьте следующий формат в ваш файл конфигурации.

allow 34.46.12.32;

deny all;

Добавив указанный формат, Nginx запретит все запросы, приходящие из разных IP-адресов, кроме IP-адреса 34.46.12.32.

Как добавить IP-адрес в список разрешённых (whitelist) в Nginx для определенного домена.

Добавьте вышеприведенные строки в любой из блоков http, server или location / как показано ниже.

http{

   …

   allow 34.46.12.32;

   deny all;

   …

}

server{

allow 34.46.12.32;

deny all;

}

location / {

   allow 34.46.12.32;

   deny all;

Как добавить IP адрес в белый список в Nginx для поддомена

Предположим, у вас есть два поддомена (blog.xyz.com и news.xyz.com) со своими файлами конфигурации Nginx в /etc/nginx/sites-enabled/blog.conf and /etc/nginx/sites-enabled/news.conf

Если вы хотите добавить IP в белый список в Nginx для единственного поддомена (blog.xyz.com), то добавьте вышеупомянутые 2 строки в файл blog.conf этого поддомена.

$ sudo vim /etc/nginx/sites-enabled/blog.conf

In the file itself, add the following: 

server {

  server blog.xyz.com;

  allow 34.46.12.32;

  deny all;

}

Если вы ищете, как добавить IP-адреса в белый список для обеих субдоменов, то добавьте две строки в файлы blog.conf и news.conf.

Как настроить белый список диапазонов IP в Nginx?

Если вы хотите разрешить диапазон IP-адресов, например, 34.46.12.0 – 34.46.12.255, используйте формат CIDR для вашего диапазона IP-адресов. Это связано с тем, что Nginx принимает только IP-адреса и форматы CIDR.

location / {

  allow 34.46.12.0 /35;

  deny all;

}

Как добавить IP-адрес в белый список в Nginx для URL

Если вы хотите включить IP-адрес только для одного URL (например, /accounts/login), то добавьте вышеприведенную директиву allow в блоке location для этого URL.

location /accounts/login {

   allow 34.46.12.32;

   deny all;

}

Как добавить несколько IP-адресов в белый список в Nginx

Если вы хотите разрешить доступ к нескольким IP-адресам в Nginx, просто добавьте следующую информацию, одну для каждого IP.

allow 34.46.12.32;

allow 34.46.12.10;

deny all;

У вас также есть возможность объединить диапазоны IP и CIDR вместе. Вот процесс:

allow 34.46.12.10;

allow 34.46.12.0/35;

deny all;

3. Как перезапустить Nginx

Выполните команду $ sudo nginx –t, чтобы проверить синтаксис вашего обновленного файла конфигурации.

Если вы не встретили ошибок, выполните следующую команду, чтобы перезапустить сервер Nginx:

$ sudo service nginx reload #debian/ubuntu

$ systemctl restart nginx #redhat/centos

Вот и все! Вы теперь знаете всю процедуру добавления IP в белый список на Nginx, его диапазоны IP и как перезапустить Nginx.

Have Your Say!!

Join 3 million+ users to embrace internet freedom

Signup for PureVPN to get complete online security and privacy with a hidden IP address and encrypted internet traffic.