【发布时间】:2016-06-21 08:11:32
【问题描述】:
我在我的 Sinatra 应用中安装了 Sidekiq 面板,如下所示:
require 'rubygems'
require 'bundler'
require 'sidekiq/web'
env = ENV['RACK_ENV'].to_sym || :development
Bundler.require(:default, :sinatra, env)
disable :run
Encoding.default_external = Encoding::UTF_8
set :environment, env
use Rack::ShowExceptions
use Rack::Session::Pool
use Rack::MethodOverride
Sidekiq::Web.use Rack::Session::Pool
require File.expand_path '../app/my_app.rb', __FILE__
run Rack::URLMap.new("/" => MyApp.new, "/sidekiq" => Sidekiq::Web.new)
这意味着我的应用可以通过/ 和sidekiq 网络面板通过/sidekiq 访问。
现在,当我尝试删除作业时,我总是得到Forbidden。我在这里阅读了https://github.com/mperham/sidekiq/issues/1289 和这里https://github.com/mperham/sidekiq/issues/2487,但是升级到rack-protection > 1.5.1 也没有为Sidekiq::Web 设置会话到目前为止已经解决了这个问题。
我正在使用 WEBrick 以 rackup 启动我的服务器,所以我认为这不应该是服务器问题。
我正在使用 sinatra 1.4.2 和 sidekiq 3.5.1。关于如何解决这个问题的任何想法?
【问题讨论】:
-
目前还没有找到解决办法。当我试用 sidekiq-failures gem (github.com/mhfs/sidekiq-failures) 时,我注意到一件事,它表现出相同的行为
Forbidden