Ответ найден здесь:
http://www.hostingrails.com/SSL-Redirecting-not-working
Короткая версия, я добавил следующую строку в SSL vhost в моей конфигурации nginx:
proxy_set_header X_FORWARDED_PROTO https;
Подробная версия:
В основном проблема сводилась к тому, что сервер nginx не передавал тот факт, что исходный запрос был протоколом HTTPS, в кластер Mongrel. Это вызвало вызов "request.ssl?" внутри плагина SslRequirement ВСЕГДА возвращайте false.
Итак, когда это возвращалось как ложное, «sure_proper_protocol» перезапустил бы действие через https, который проверил бы «request.ssl?», Который возвратил бы «false», который перезапустил бы действие через https , который проверил бы «request.ssl?», который возвратил бы «false», который перезапустил бы действие через https, который проверил бы «request.ssl?», который возвратил бы «false», который перезапустил бы действие над https, которое проверяет «request.ssl?», которое возвращает «ложь», что перезапускает действие через https ...
... вы поняли идею. Кластер mongrel НИКОГДА не думал, что запрос выполнен по протоколу HTTPS, поэтому он перенаправлен навсегда. Небольшое изменение в конфигурации nginx, чтобы исправить это, и BAM-O: проблема решена.