25

Herokuで特定のIPを制限またはブロックするためにnginx/apacheを使用する場合と同じように、IPフィルタリングまたはIPアクセスルールを実装する方法はありますか?

注:これはアプリケーション(Rails 3.2)内から非常に簡単に実行できることは知っていますが、これがHerokuのリソースの最も効率的な使用法ではないと思います。また、Railsでフィルタリングを実装するよりも、Rackベースのソリューションの方が優れています。

4

2 に答える 2

18

ラックアタックをチェックする必要があります。ラックブロックと同じように見えますが、はるかに広く使用され、頻繁に更新されます。特定のIPをブロックするには、次のようにします。

# Block requests from 1.2.3.4
Rack::Attack.blacklist('block 1.2.3.4') do |req|
  # Requests are blocked if the return value is truthy
  '1.2.3.4' == req.ip
end
于 2014-10-10T17:47:39.900 に答える
9

Rackミドルウェアとして「rack-block」を追加しました。config / initializersで、新しいファイルを追加します。

YourApp::Application.configure do

  config.middleware.insert_before(Rack::Lock, Rack::Block) do  
    # Add your rules with the rack-block syntax in here
  end

end

チャームのように機能します。

于 2012-09-02T18:40:03.837 に答える