Эта конфигурация limit_req работает, если я нажимаю непосредственно на php-страницы (index.php), но не попадает/[pretty urls] и переписывает ее в index.php? $ Args.NGINX second limit_req не работает после перезаписи
limit_req_zone $binary_remote_addr zone=dynamic:10M rate=1r/s;
limit_req_zone $binary_remote_addr zone=static:10M rate=60r/s;
location/{
limit_req zone=static burst=180;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
limit_req zone=dynamic burst=5;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
set $fsn /index.php;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fsn;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fsn;
}
Это, очевидно, получает в нужное место, потому что она проходит в бэкэнд, но limit_req не кажется, будет использоваться. Я не могу найти ничего обсуждающего это ограничение в документах. У кого-нибудь есть идеи?
Редактировать: Комментирование первого с помощью zone = static позволяет обрабатывать PHP-версию. Для меня это выглядит как ошибка в limit_req.
Что такое содержимое limit_req_zone? –
limit_req_zones определены в самом верху кодового блока – RobC