Получение «Запрещено» при нажатии «Поставить в очередь сейчас» - PullRequest
0 голосов
/ 17 октября 2018

Получение «Запрещено» при нажатии «Поставить в очередь сейчас» в рабочей среде и в рабочей среде.

Использование «rails», «5.1.6», sidekiq-cron (1.0.4), в котором используется fugit (~>1.1) и sidekiq (> = 4.2.1)

Я вижу из проблемы sidekiq-cron 60 и проблемы sidekiq-cron 61 эта проблема была решена долгоназад, но все еще получаю ту же проблему.

1 Ответ

0 голосов
/ 02 ноября 2018

Sidekiq :: Web использует Rack :: Protection для защиты приложения от типичных веб-атак (например, CSRF, XSS и т. Д.).Rack :: Protection сделает недействительным сеанс и вызовет ошибку «Forbidden», если обнаружит, что запрос не удовлетворяет требованиям безопасности.Одна из возможных ситуаций заключается в том, что приложение работает за обратным прокси-сервером и не передает ему важные заголовки (X-Forwarded-For, X-Forwarded-Proto).

Хорошо, потратив достаточно времени на выяснение проблемы.Вот что мне помогло.

Конфигурация Nginx:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
proxy_set_header X-Forwarded-Proto https;  
proxy_set_header Host $http_host;  
proxy_set_header X-Real-IP $remote_addr;  
proxy_redirect off;  
proxy_http_version 1.1;  
proxy_set_header Connection '';  
proxy_pass http://app;
#proxy_set_header  X-Forwarded-Ssl on; # Optional
#proxy_set_header  X-Forwarded-Port $server_port;
#proxy_set_header  X-Forwarded-Host $host;

Другие решения, которые не работали для меня, но работали для других:

Мониторинг Sidekiq

Sidekiq выпуск 2487

Защита стойки и nginx

Sidekiq выпуск 2560

...