【问题标题】:Rails, Sidekiq - Redis NOAUTHRails,Sidekiq - Redis NOAUTH
【发布时间】:2016-03-16 10:06:15
【问题描述】:

我使用 sidekiq on rails 发送电子邮件。我为 redis 服务器添加了密码,但似乎无法正确设置,因为出现错误

D, [2015-12-10T16:49:52.714279 #10497] DEBUG -- :    (0.5ms)  COMMIT
I, [2015-12-10T16:49:52.720380 #10497]  INFO -- : [ActiveJob] Enqueued ActionMailer::DeliveryJob (Job ID: 5bce215c-7649-4774-8c6e-d29e743cf25e) to Sidekiq(mailers) with arguments: "MessageMailer", "new_message", "deliver_now", gid://customer-app/Message/18
I, [2015-12-10T16:49:52.723400 #10497]  INFO -- : Completed 500 Internal Server Error in 25ms (ActiveRecord: 1.6ms)
F, [2015-12-10T16:49:52.726204 #10497] FATAL -- :
Redis::CommandError (NOAUTH Authentication required.):
  app/controllers/messages_controller.rb:37:in `block in create'
  app/controllers/messages_controller.rb:35:in `create'

我的 sidekiq 日志显示应该没问题?

2015-12-10T16:49:39.220Z 10448 TID-ows27pimw INFO: Booting Sidekiq 3.5.3 with redis options {:url=>"redis://localhost:6379/0", :password=>"REDACTED", :namespace=>"sidekiq"}
2015-12-10T16:49:40.916Z 10448 TID-ows27pimw INFO: Running in ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

这是我在初始化器中的 sidekiq.rb

Sidekiq.configure_server do |config|
  config.redis = { :url => "redis://#{}localhost:6379/0", password: ENV["REDIS_PASSWORD"], :namespace => "sidekiq" }
end

【问题讨论】:

  • 如果您记录/输入 ENV["REDIS_PASSWORD"] 它的值是否正确?
  • @RichardAE 我启动了 Rails 控制台,它输出了正确的值。

标签: ruby-on-rails authentication redis sidekiq


【解决方案1】:

您需要在服务器和客户端块中配置 Redis,如 Using Redis wiki page 中所述。

【讨论】:

  • 谢谢 - 使用这两种方法就像你说的那样:Sidekiq.configure_client ... 和 ... Sidekiq.configure_server