В приложении My Rails есть некоторые страницы, для которых требуется SSL, а другие - для SSL. Дополнительные страницы используют некоторые ресурсы, которые обслуживаются вне сайта (изображения от поставщика), которые имеют как http, так и https URL. Мне нужно использовать https при обращении к странице через SSL, чтобы избежать страшного предупреждения «эта страница содержит как защищенные, так и незащищенные элементы».
Я написал код, который по умолчанию возвращает URL-адреса изображений как http и https, если требуется. Теперь моя проблема заключается в определении того, как поступил запрос. Request.ssl? не работает в представлениях.
Я пытался использовать before_filter, который устанавливает что-то вроде @ssl_request, используя request.ssl?, Но это также всегда возвращает false. Есть ли более элегантный способ сделать это?
Серверный стек - Nginx и Passenger. Другие приложения со стеками Apache => Mongrel передают заголовок X_FORWARDED_PROTO, чтобы сообщить Rails, что SSL используется или не используется; Возможно ли, что Nginx / Passenger этого не делает?