A razão pela qual eu quero fazer isso é porque os usuários desenvolvem contra nossa API com JavaScript e alguns desenvolvedores estragam e fazem com que os visitantes batam no servidor com solicitações AJAX. Quando isso acontecer, eu quero poder limitar as solicitações da API para talvez 50 solicitações por minuto ou algo nesse sentido.
Nota: (particularmente recursos intensivos em banco de dados, talvez no nível do caminho, em vez de em todo o servidor (por exemplo, regulador de pressão "/ json_api /", mas não "/ static /").
fonte
zone=limit_req_zone
, em vez disso?$http_authorization
variável para definir uma nova zona em que a chave é esse cabeçalho, e não o endereço IP, ou sejalimit_req_zone $http_authorization zone = per_user : 10m rate = 5r/s
, e depois usar aper_user
zona nas seções de localização em que deseja limitar a taxa por usuário. Não testado, apenas li a documentação e a lista de variáveis nginx ... entre em contato se você tentar fazer isso!