2016-05-17 4 views
1

nginx、haproxy、thinのプロダクションサーバでsidekiq gemを使用しています。また、認証された管理ユーザー(activeadmin)にsidekiq UIを使用しています。nginx/haproxy/thinのプロダクションサーバでsidekiq/devise/activeadminを使用することは禁止されています。

authenticate :admin_user do 
    mount Sidekiq::Web => '/sidekiq' 
end 

認証後、/ sidekiqを開こうとします。 sidekiquiを見るのではなく、私たちは "禁じられた"だけを受け取ります。さらに、私たちは討議セッションを失った。したがって、/ adminを開くと、activeadminは認証を再度要求します。

私たちはプロダクションサーバでのみこの問題に直面しています.devではうまく動作します。

我々が使用して: nginxの(HTTPS) haproxy(HTTP) (HTTP)薄い sidekiq 4.1.1 工夫3.5.6 1.0.0.pre2 activeadminシナトラ1.4.7

答えて

1

をあなたが必要とします適切なヘッダーをアプリケーションに転送するには、ラック保護が要求をブロックします。あなたが必要とするnginxのサーバー構成で

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header X-Forwarded-Proto $scheme; 
proxy_set_header Host $http_host; 
proxy_set_header X-Real-IP $remote_addr; 

はその後HAProxyで、あなたは私がアプリでIPを転送するoption forwardfor header X-Real-IPを持って使用しますが、これではありません

option forwardfor header X-Client 

をアプリにあなたにIPを転送する必要がありますラック保護のために働いています。

+1

ありがとうございました。それは助けになった! –

関連する問題