перенаправить на «www» перед force_ssl

Я перемещаю приложение в heroku и у меня возникли некоторые проблемы с ssl и перенаправлениями.

Я на рельсах 3.1, и я пытался заставить ssl с промежуточным программным обеспечением в средах production.rb. Я все пытался добавить его в контроллер приложения.

Проблема в том, что, когда я делаю полную силу сайта ssl, я не могу перенаправить на www, прежде чем он достигнет требования SSL. Это важно, потому что пользователю будет показано предупреждение о недействительном сертификате SSL, если он получит доступhttps://mydomain.com, Если они продолжат работу, они получат перенаправление на «www».

Работает форсирование SSL, работает перенаправление на поддомен 'www', мне просто нужно сначала сделать редирект.

Есть идеи?

За комментарий Натана:

У меня было несовершенное решение. Мой root_path не форсирует ssl. Все части с конфиденциальной информацией форсируют это. По прибытии весь трафик направляется на www с этим в моих маршрутах.rb:

constraints(:host => "domain.com") do
  match "(*x)" => redirect { |params, request|
    URI.parse(request.url).tap { |x| x.host = "www.domain.com" }.to_s
  }
  end 

Это может скрыть большинство проблем, так как к тому времени, когда пользователь нажал на кнопку входа или что-то еще, они уже были в домене www. Браузер не выдаст предупреждение о сертификатах. Это работало нормально для этого определенного проекта. В другом проекте я заплатил большие деньги за подписанный сертификат.

Извините, не реальное решение. Если вы идете вhttps://domain.com/forcedsslpath проект по-прежнему дает предупреждения безопасности.

Ответы на вопрос(3)

Ваш ответ на вопрос