Ошибки разработки Rails в продакшене с Unicorn, Nginx

У нас было несколько случаев, когда пользователи сообщали об ошибках на нашем сайте, где они видели страницу ошибок типа разработки Rails — они любезно прислали скриншоты.

Во всех случаях сама ошибка не была проблемой для решения, но мне никогда не удавалось воспроизвести ошибку, которая показывала бы страницу ошибки разработки. Например, в одном случае это была ошибка шаблона «нет метода '‹' для nil», поэтому я установил секретный маршрут, который дублировал бы эту ошибку, но это просто показало содержимое 500.html, когда я попробовал это.

Я подтвердил, что все серверы приложений работают в рабочем режиме.

Версия Rails — 3.1.10 и работает на Nginx 0.7.65. Здесь на SO есть аналогичный пост, но он связан с Phusion Passenger.

Извините, что здесь мало информации.

Обновление: это всегда происходит с SSL. Если я получаю доступ к одному из серверов приложений напрямую, редактируя файл hosts, я получаю правильный 500.html, но я получаю ошибку типа разработки при обычном просмотре (через балансировщик нагрузки).

Вот моя конфигурация nginx: gist.github.com/davidnorth/5063830


person DavidNorth    schedule 01.03.2013    source источник
comment
Я обнаружил, что это происходит только в SSL, и я могу воспроизвести последовательно, используя SSL с моей тестовой страницей ошибки. Однако это не то же самое, что stackoverflow.com/questions/10435978/ - у меня есть: location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; как для http так и для https   -  person DavidNorth    schedule 01.03.2013


Ответы (1)


В итоге я использовал этот обходной путь в инициализаторе. На развитие это не влияет.

class ActionDispatch::Request
 def local?
   false
 end
end
person DavidNorth    schedule 01.03.2013