Rack Limiter
Simple redis-backed rack middleware to limit incoming http requests. Extracted from Screenfunk.com
Configuration for Rails apps
Add rack-ratelimiter to your Gemfile
gem 'rack-racklimiter', :git => "git://github.com/krmdrms/rack-ratelimiter.git",:require => 'rack/rack_limiter'
This will limit all incoming requests
config.middleware.use "Rack::RateLimiter", :interval => 60, :max_requests => 50, :redis_namespace => 'rack_limiter'
We have Public API @screenfunk which runs on the same rails instance with different domain
config.middleware.use "Rack::RateLimiter", :interval => 60, :max_requests => 50, :redis_namespace => 'rack_limiter', :limit => {:domain => 'api.screenfunk.com'}
with :limit parameter server only listens given domain.
License
(The MIT License) Copyright © 2011 Kerem Durmus