Я был "парализован" этим решением в прошлом, и вот что я думаю каждый раз.
Во-первых, имейте в виду, что некоторые браузеры будут выдавать всплывающие предупреждения, если вы продолжаете переключаться с SSL на другой или если вы обслуживаете некоторый контент (страницу) с SSL и другой контент (изображения, CSS) без него. Очевидно, что это не очень хороший опыт для пользователей.
Единственный возможный недостаток использования SSL везде - это производительность. Но если вы не ожидаете более 1000 пользователей в день, которые будут делать много вещей, которые * не * требуют SSL, это незначительно.
SSL обрабатывается на уровне Apache / Nginx / любого уровня. Поэтому, если вы решите оставить все свое приложение за SSL, имеет смысл работать с ним на уровне веб-сервера (перенаправьте http: /yoursite.com на https://yoursite.com.
И если по соображениям производительности вы решите , а не , чтобы оставить все за SSL, тогда все равно может иметь смысл обрабатывать перенаправления SSL на уровне веб-сервера. Разрешение вашему пользователю через ваш веб-сервер, затем отправка его через половину стека Rails, просто чтобы загрузить его обратно и начать заново, очень расточительно.
Конечно, есть что сказать для простоты и областей знаний, которые могут предложить обработку перенаправлений в вашем Rails-приложении или промежуточном программном обеспечении, поскольку он «знает», что безопасно и небезопасно.
Но это вещи, которые вам придется взвесить самостоятельно. Это зависит от того, важнее ли первичная производительность или простота разработки / сопровождения.
Я обычно получаю виртуальный хост для http://mysite.com, который перенаправляет все (или иногда только определенные Uris) на https://mysite.com/$1. Надеюсь, это полезно.