Итак, я перемещаю свое приложение rails (3.0.9) из одного домена в другой. Heroku предлагает использовать before_filter в контроллере приложения, чтобы убедиться, что все оказались в новом домене, например:
before_filter :ensure_domain if Rails.env.production?
APP_DOMAIN = 'www.newdomain.com'
def ensure_domain
if request.env['HTTP_HOST'] != APP_DOMAIN
redirect_to "http://#{APP_DOMAIN}", :status => 301
end
end
Однако на некоторых видах контроллеров я использую ssl_requirement
, что, по моему мнению, делает то же самое, но вызывает протокол ssl.
Я не настолько умён в обработке запросов и прочем джазе. Мой вопрос заключается в том, собираются ли эти двое создать бесконечный цикл, где SLL пытается перенаправить на https, а фильтр before пытается вернуть его на http?
Как бы вы решили эту проблему?