Для настройки защиты NGINX от DDoS атак и использования реверс-прокси с белым списком IP-адресов, следуйте следующим шагам:
1. Установите NGINX на сервер.
- Для Linux:
- Ubuntu: `sudo apt-get install nginx`
- CentOS: `sudo yum install nginx`
- Для Windows загрузите установщик с официального сайта NGINX и выполните инсталляцию.
2. Создайте файл конфигурации NGINX для вашего сервера.
- Для Linux:
- Ubuntu: `sudo nano /etc/nginx/sites-available/default`
- CentOS: `sudo nano /etc/nginx/nginx.conf`
- Для Windows: `C:\nginx\conf\nginx.conf` (при условии, что NGINX установлен в папку C:\nginx)
3. Настройте сервер для использования реверс-прокси.
- Добавьте следующий блок `location` в файл конфигурации NGINX:
```nginx
location / {
proxy_pass http://localhost:8080; # Замените порт на тот, на котором работает ваше приложение
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
4. Настройте ограничение доступа к серверу с использованием белого списка IP-адресов.
- Добавьте следующие строки перед блоком `location`:
```nginx
geo $allowed {
default 0;
192.168.0.1/32 1; # Добавьте IP-адреса, которым разрешен доступ
10.0.0.0/16 1; # Примеры формата для указания IP-адресов в CIDR нотации
}
```
- Добавьте следующее условие в блок `location`:
```nginx
if ($allowed = 0) {
return 403; # Запретить доступ всем адресам, не указанным в белом списке
}
```
5. Сохраните и закройте файл конфигурации.
6. Перезапустите NGINX, чтобы применить новую конфигурацию.
- Для Linux:
- Ubuntu: `sudo service nginx restart`
- CentOS: `sudo systemctl restart nginx`
- Для Windows: Откройте командную строку, перейдите в каталог с установленным NGINX (`C:\nginx`) и выполните команду `nginx.exe -s reload`
После выполнения этих шагов NGINX будет настроен на использование реверс-прокси и доступ только для IP-адресов, указанных в белом списке. Это поможет защитить ваш сервер от DDoS атак, выполняя фильтрацию запросов и разрешая доступ только определенным адресам. Однако, имейте в виду, что это лишь одна из многих методов защиты и для надежной защиты важно использовать комплексный подход.