Как узнать, что `Rack :: Protection` делает с сервером Синатра? - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть сервер Sinatra в среде AWS с балансировщиком нагрузки между клиентом и сервером.

Если я не сделаю что-то вроде:

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 голосов
/ 28 ноября 2018

Хотя я не знал, как улучшить ведение журналов, я работал так:

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

остановил сообщение «Запрещено» при перенаправлении на стороне клиента в сценарии, описанном в вопросе..

...