Получение "Запрещено" при нажатии "Поставить в очередь сейчас"
Получение "Запрещено" при нажатии "Постановить в очередь" в промежуточной и производственной среде.
Используя 'rails', '5.1.6', sidekiq-cron (1.0.4), который использует fugit (~> 1.1) и sidekiq (>= 4.2.1)
Я вижу из проблемы 60 sidekiq-cron и проблемы 61 sidekiq-cron, что проблема была решена давно, но все еще получает ту же проблему.
1 ответ
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;
Другие решения, которые не работали для меня, но работали для других: