如何查看Sinatra服务器的“ Rack :: Protection”功能?

时间:2018-11-27 06:10:22

标签: ruby sinatra rack

我在AWS环境中有一台Sinatra服务器,在客户端和服务器之间具有负载平衡器。

除非我做类似的事情:

disable: protection

它在重定向上给出“禁止”。我不想总是禁用保护,而我应该缩小禁用保护的范围,所以我想知道什么保护禁止我的重定向。

我希望看到类似的东西

attack prevented by Rack::Protection::<Something>

我有:

enable: logging

和:

-e development

但无法从Rack::Protection获得任何有关为什么要应用规则的反馈。

我已经尝试过了:

def self.log_rack_protection(namespace = nil, data = nil)
  puts "rack data: #{data.pretty_inspect}"
end
use Rack::Protection, instrumenter: log_rack_protection

但是它似乎没有在启动时被调用。

我需要怎么做才能从Rack::Protection获得有关哪个模块正在执行阻止的更多反馈?另外,是否应该对负载均衡器进行一些配置以停止此保护?

1 个答案:

答案 0 :(得分:0)

虽然我没有解决如何获得更好的日志记录,但确实做到了:

set :protection, :except => [:json_csrf]

在问题所述的情况下,在客户端重定向上停止了“禁止”消息。