diff --git a/config/initializers/rack/attack.rb b/config/initializers/rack/attack.rb index dfdf4171f..a060268dd 100644 --- a/config/initializers/rack/attack.rb +++ b/config/initializers/rack/attack.rb @@ -16,4 +16,10 @@ class Rack::Attack request.env["HTTP_API_KEY"] end end + + throttle("site_hits", limit: 100, period: 2) do |request| + if request.env["HTTP_FASTLY_CLIENT_IP"].present? + request.env["HTTP_FASTLY_CLIENT_IP"].to_s + end + end end diff --git a/spec/initializers/rack/attack_spec.rb b/spec/initializers/rack/attack_spec.rb index 3370a19d7..c2f00b2f0 100644 --- a/spec/initializers/rack/attack_spec.rb +++ b/spec/initializers/rack/attack_spec.rb @@ -5,6 +5,7 @@ describe Rack::Attack, type: :request, throttle: true do redis_url = "redis://localhost:6379" cache_db = ActiveSupport::Cache::RedisStore.new(redis_url) allow(Rails).to receive(:cache) { cache_db } + cache_db.data.flushdb end describe "search_throttle" do