limit_req is limiting requests outside of location block it is applied to

djeyewater nginx-forum at
Fri Mar 11 12:33:02 UTC 2016

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/;

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
	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" '

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

	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:,265244,265244#msg-265244

More information about the nginx mailing list