I have a location ~* \.php$ with limit_req set inside it. But requests
outside of this location block, e.g. for .js and .css files are also being
limited. I only want to limit the number of requests to .php files.

This is my config:

worker_processes  2;

pid logs/nginx.pid;

events {
        worker_connections  1024;
}

http {
        include       mime.types;
        default_type  application/octet-stream;

        server_names_hash_bucket_size 128;

        sendfile        on;
        keepalive_timeout  10 10;
        
        port_in_redirect off;
        
        #Fix IP address
        set_real_ip_from   127.0.0.1;
        real_ip_header     X-Forwarded-For;
        
        limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
        
        log_format main '$remote_addr - $remote_user [$time_local] '
                     '"$request" $status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent"';

server {
        listen          7776;
        server_name     www.test.com;
        access_log  logs/test.log  main;
        error_log  logs/test-error.log warn;
        root  /path/to/test.com;

        location / {
                index index.php;
                try_files $uri $uri/ /index.php?$args;
        }

        # Pass PHP scripts on to PHP-FPM
        location ~* \.php$ {
                limit_req zone=one burst=5;
                try_files $uri =404;
                include fastcgi_params;
                fastcgi_pass   unix:/path/to/php.sock;
        }
}
}

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?2,265244,265244#msg-265244

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to