Мой сервер недавно получил DDOS-атаку на мой API-сервер. Я хочу установить ограничение на соединение с моим путем API. Путь API: <server path>/api/index.php
Я хочу знать, как я могу ограничить кого-либо доступ к нему только дважды в секунду.
В настоящее время я использую следующие настройки.
server {
server_name example.com; # managed by Certbot
root /var/www/;
index index.php index.html index.htm;
location / {
root /var/www/;
index index.php;
try_files $uri $uri/ /index.php?$args;
}
location /example.com/{
limit_req zone=mylimit;
root /var/www/example.com/;
index index.php?$args;
try_files $uri $uri/ /example.com/index.php?$args;
}
location ~ ^/api(/|/index\.php)$ {
limit_req zone=mylimit burst=2 nodelay;
root /var/www/;
}
}
Я хочу, чтобы Nginx не разрешил все другие файлы в каталоге api/
, кроме файла index.php
, и разрешил ему следовать вышеуказанным настройкам limit_req
.
Кто-нибудь может помочь?