Rails - 机架攻击宝石油门与AWS弹性豆茎

时间:2018-01-02 20:40:15

标签: ruby-on-rails amazon-web-services elastic-beanstalk throttling

我曾尝试设置Rack Attack gem以进行限制。但是,我使用aws弹性beanstalk,我发现由于负载平衡器,用户的IP地址对于所有请求都是相同的。有没有办法解决它并获得用户的IP或任何其他方式来设置它? 这是我现在为Rack Attack gem编写的代码:

class Rack::Attack
    Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new

    Rack::Attack.throttle('req/ip', :limit => 10, :period => 10.second) do |req|
        req.ip
    end
end

1 个答案:

答案 0 :(得分:1)

您正在寻找"如何配置代理协议支持"

  

代理协议是一种Internet协议,用于从请求连接的源传送连接到请求连接的目标的连接信息。 Elastic Load Balancing使用代理协议版本1,它使用人类可读的标头格式。

Configure Proxy Protocol Support for Your Classic Load Balancer

内容