Rails authenticate_or_request_with_http_basic не работает на SSL + Nginx - PullRequest
2 голосов
/ 14 апреля 2011

В моем приложении Rails 3 есть действие, которое я защищаю с помощью authenticate_or_request_with_http_basic.Работает нормально на моей машине для разработки, но не запрашивает http_basic пользователя / пароль на рабочем сервере.

Все производственное приложение работает по протоколу https / SSL в nginx.

Куда мне обратиться, чтобы решить эту проблему?Разве http-аутентификация не работает через SSL?Или мне нужна настройка nginx?

TIA

1 Ответ

2 голосов
/ 11 июля 2011

Не уверен, относится ли это к Rails 3.

У меня совсем недавно были проблемы с запуском Mongrel 1.1.5 и Rails 2.3.8

Очевидно, в этом наборе есть ошибка, из-за которойнаша производственная машина не запрашивает имя пользователя и пароль (но работает локально, потому что мы используем веб-кирпич).

В mongrel.log мы постоянно получаем эту ошибку:

Ошибкавызов Dispatcher.dispatch #split 'вызван для nil: NilClass> /usr/local/rvm/gems/ruby-1.8.7-p174/gems/actionpack-2.3.8/lib/action_controller/cgi_process.rb:52:indispatch_cgi'/usr/local/rvm/gems/ruby-1.8.7-p174/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb:101:in `dispatch_cgi '...

НайденоПатч обезьяны необходим для исправления Mongrel 1.1.5 и Rails 2.3.8, и это сработало для меня.Немецкий сайт, который приводит к решению: http://railssprech.de/ с 2 ссылками для 2.3.8 и 2.3.9.

Вот версия 2.3.8: http://www.pcoder.net/error-calling-dispatcher-dispatch/#axzz1RknBQso2

Патч объясняет, почему произошла эта ошибка.Проверьте метод CGIHandler.dispatch_cgi на Rails 3 и посмотрите, не является ли это той же ошибкой.Возможно, вам придется извлечь Rails 3 и обезьяна залатать его.

Надеюсь, это поможет.

Кстати: Mongrel 1.1.5 и Rails 2.3.5 работают!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...