Para aquellos de ustedes que están buscando para forzar también el uso de SSL heroku , esto funcionó bien para mí, basado en Heroku SSL on root domain
en mi configuración DNS puedo tener un/registro Forward URL (simple DNS)
URL foo.com 3600 http://www.foo.com
La configuración CNAME sólo tiene que ser configurado para WWW
CNAME www.foo.com 3600 providedssslendpoint.herokussl.com
También tuve de configurar y Alias para mi raíz
ALIAS foo.com 3600 providedsslendpoint.herokussl.com
Entonces decidió sustituir simplemente foo.com con una variable de entorno ENV['SITE_HOST']
(donde SITE_HOST puede ser igual a www.foo.com o test.foo.com) para que pueda tener control a través de mi configuración de heroku. De esa forma, puedo controlar lo que ocurre en diferentes entornos.(Para la creación de las variables env ver en la zona https://github.com/bkeepers/dotenv)
Por ejemplo, mi aplicación de prueba utiliza test.foo.com como la url que también tiene su propio punto final SSL por lo que funciona bien para mí.
before_filter :check_domain
def check_domain
if Rails.env.production? || Rails.env.testing? and request.host.downcase != ENV['SITE_HOST']
redirect_to request.protocol + ENV['SITE_HOST'] + request.fullpath, :status => 301
end
end
A partir de ahora, los usuarios finales siempre accederán a www con SSL forzado. Los enlaces antiguos sufrirán un pequeño bloqueo pero nada notable.
¡Parece dulce, voy a probar esto en el próximo despliegue e informar los resultados! –
Carson, esto funcionó para mí. ¡Muchas gracias por su respuesta! –
Carson, me disculpo por no marcar su respuesta como la respuesta que acepté previamente. No me di cuenta de que todo lo que tenía que hacer era hacer clic en la marca de verificación. Nuevamente, mis disculpas. –