Sidekiqの管理画面にBasic認証を設定する

公開日時

sidekiqには管理画面UIが用意されており、routesに以下を追加すると/sidekiqで管理画面にアクセスできるようになる。

# config/routes.rb

require 'sidekiq/web'

Rails.application.routes.draw do
  mount Sidekiq::Web, at: "/sidekiq"
end

ただ、デフォルトだと誰でもアクセスできてしまうため認証を設定する必要がある。

DeviseやSorceryを使った認証を行うこともできるみたいだが、今回はシンプルにBasic認証を導入する。

initializerに以下のようにRack::Auth::Basicを追加すればOK。

# config/initializers/sidekiq.rb
require 'sidekiq/web'

Sidekiq::Web.use(Rack::Auth::Basic) do |user, password|
  [user, password] == [ENV['SIDEKIQ_ADMIN_BASIC_AUTH_USER'], ENV['SIDEKIQ_ADMIN_BASIC_AUTH_PASSWORD']]
end

参考


Related #ruby

Bulletをテスト環境で実行してN+1を調査する

bulletのおかげで見落としていたN+1に気づける

request specでリダイレクトのテストをする

redirect_toが使えた

bot tweetするrubyスクリプト

8時間ほどで申請が通っていた

RailsのログをLogrageに変更する

ログを1行にまとめてくれるので便利