История изменений
Исправление Xintrea, (текущая версия) :
Ну вот я сделал такой конфиг и перегрузил сервис nginx:
# Выделение зоны в памяти размером 10Мб для накопления IP-адресов запросов
# чтобы их ограничить для заданных URL-ов 5 штуками в минуту
limit_req_zone $binary_remote_addr zone=ipAddrZone:10m rate=5r/m;
server {
...
# Именованная локация, содержимое которой не обрабатывается напрямую,
# а вызывается из других локаций
location @php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php5.6-fpm.sock;
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files . @php; # Вызов именованной локации
}
# Правила для блокировка спама на форуме - блокируются частые попытки регистрации
# с одного и того же IP-адреса
location /punbb/register.php {
limit_req zone=ipAddrZone nodelay;
try_files . @php; # Вызов именованной локации
}
location /punbb/extensions/pun_antispam/image.php {
limit_req zone=ipAddrZone nodelay;
try_files . @php; # Вызов именованной локации
}
}
Никакого толку, хоть сто запросов в минуту делай, ничего не блокируются. Вот сами запросы, если что:
195.182.157.224 - - [22/May/2024:18:14:21 +0300]
"GET /punbb/register.php HTTP/1.1" 200 4460
"https://имя_сайта/punbb/" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
195.182.157.224 - - [22/May/2024:18:14:23 +0300]
"GET /punbb/extensions/pun_antispam/image.php?36cec89d1cd70c29b781a1814dfb1ba6 HTTP/1.1" 200 6839
"https://имя_сайта/punbb/register.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
Вопрос: почему такой вариант конфига не работает как надо?
Исправление Xintrea, :
Ну вот я сделал такой конфиг и перегрузил сервис nginx:
# Выделение зоны в памяти размером 10Мб для накопления IP-адресов запросов
# чтобы их ограничить для заданных URL-ов 5 штуками в минуту
limit_req_zone $binary_remote_addr zone=ipAddrZone:10m rate=5r/m;
server {
...
# Именованная локация, содержимое которой не обрабатывается напрямую,
# а вызывается из других локаций
location @php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php5.6-fpm.sock;
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files . @php; # Вызов именованной локации
}
# Правила для блокировка спама на форуме - блокируются частые попытки регистрации
# с одного и того же IP-адреса
location /punbb/register.php {
limit_req zone=ipAddrZone nodelay;
try_files . @php; # Вызов именованной локации
}
location /punbb/extensions/pun_antispam/image.php {
limit_req zone=ipAddrZone nodelay;
try_files . @php; # Вызов именованной локации
}
}
Никакого толку, хоть сто запросов в минуту делай, ничего не блокируются. Вот сами запросы, если что:
195.182.157.224 - - [22/May/2024:18:14:21 +0300]
"GET /punbb/register.php HTTP/1.1" 200 4460
"https://имя_сайта/punbb/" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
195.182.157.224 - - [22/May/2024:18:14:23 +0300]
"GET /punbb/extensions/pun_antispam/image.php?36cec89d1cd70c29b781a1814dfb1ba6 HTTP/1.1" 200 6839
"https://имя_сайта/punbb/register.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
Вопрос: почему такой вариант не работает?
Исходная версия Xintrea, :
Ну вот я сделал такой конфиг и перегрузил сервис nginx:
# Выделение зоны в памяти размером 10Мб для накопления IP-адресов запросов
# чтобы их ограничить для заданных URL-ов 5 штуками в минуту
limit_req_zone $binary_remote_addr zone=ipAddrZone:10m rate=5r/m;
server {
...
# Именованная локация, содержимое которой не обрабатывается напрямую,
# а вызывается из других локаций
# Описание: pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location @php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php5.6-fpm.sock;
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files . @php; # Вызов именованной локации
}
# Правила для блокировка спама на форуме - блокируются частые попытки регистрации
# с одного и того же IP-адреса
location /punbb/register.php {
limit_req zone=ipAddrZone nodelay;
try_files . @php; # Вызов именованной локации
}
location /punbb/extensions/pun_antispam/image.php {
limit_req zone=ipAddrZone nodelay;
try_files . @php; # Вызов именованной локации
}
}
Никакого толку, хоть сто запросов в минуту делай, ничего не блокируются. Вот сами запросы, если что:
195.182.157.224 - - [22/May/2024:18:14:21 +0300]
"GET /punbb/register.php HTTP/1.1" 200 4460
"https://имя_сайта/punbb/" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
195.182.157.224 - - [22/May/2024:18:14:23 +0300]
"GET /punbb/extensions/pun_antispam/image.php?36cec89d1cd70c29b781a1814dfb1ba6 HTTP/1.1" 200 6839
"https://имя_сайта/punbb/register.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
Вопрос: почему такой вариант не работает?