Блокировка запросов по User-Agent,Referer,IP в Nginx

Требования:
ngx_http_map_module

Блокируем User-Agent

http {

	map $http_user_agent $bad_user_agent {
		default 0;
		~*BAD1 1;
		~*BAD2 1;
		include /PATH/TO/bad_user_agent.txt  #можно указать в файле все user-agent в формате "~*BAD 1;"
	}

}

server {
	...
	if ($bad_user_agent){return 403;}
}

Блоикруем Referer

http {

	map $http_referer $bad_referer {
		default 0;
		~*BAD1 1;
		~*BAD2 1;
		include /PATH/TO/bad_referer.txt  #можно указать в файле все referer в формате "~*BAD 1;"
	}

}

server {
	...
	if ($bad_referer){return 403;}
}