Подскажите пожалуйста как в связке Nginx + Apache Mod Rewrite добавить ограничение limit_req только для страниц сайта которые являются php скриптом?
Пробовал в конфиг nginx сайта, добавить так
location ~ \.php$ {
limit_req zone=two burst=10 nodelay;
limit_req_status 429;
}
Но тогда страницы сайта что заканчиваются на .php перестают работать, выдают ошибку 404.
А для остальных страниц которые используют Apache Mod Rewrite (site.com/drink/pepsi/) limit_req для них не работает.
Прилагаю конфиг сайта созданyый панелью HestiaCP:
limit_req_zone $binary_remote_addr zone=two:10m rate=10r/s;
server {
listen 55.55.55.55:80;
server_name my-site.com www.my-site.com;
error_log /var/log/apache2/domains/my-site.com.error.log error;
include /home/admin/conf/web/my-site.com/nginx.forcessl.conf*;
location ~ /\.(?!well-known\/|file) {
deny all;
return 404;
}
location / {
proxy_pass http://55.55.55.55:8080;
location ~ \.php$ {
limit_req zone=two burst=10 nodelay;
limit_req_status 420;
}
location ~* ^.+\.(css|htm|html|js|json|xml|apng|avif|bmp|cur|gif|ico|jfif|jpg|jpeg|pjp|pjpeg|png|svg|tif|tiff|webp|aac|caf|flac|m4a|midi|mp3|ogg|opus|wav|3gp|av1|avi|m4v|mkv|mov|mpg|mpeg|mp4|mp4v|webm|otf|ttf|woff|woff2|doc|docx|odf|odp|ods|odt|pdf|ppt|pptx|rtf|txt|xls|xlsx|7z|bz2|gz|rar|tar|tgz|zip|apk|appx|bin|dmg|exe|img|iso|jar|msi)$ {
try_files $uri @fallback;
root /home/admin/web/my-site.com/public_html;
access_log /var/log/apache2/domains/my-site.com.log combined;
access_log /var/log/apache2/domains/my-site.com.bytes bytes;
expires max;
}
}
location @fallback {
proxy_pass http://55.55.55.55:8080;
}
location /error/ {
alias /home/admin/web/my-site.com/document_errors/;
}
include /home/admin/conf/web/my-site.com/nginx.conf_*;
}