J'essaie de configurer SSL pour mon application Heroku. J'utilise le module complémentaire SSL basé sur le nom d'hôte. L'application heroku documentation déclare ce qui suit :
Hostname based SSL will not work with root domains as it relies on CNAME
aliasing of your custom domain names. CNAME aliasing of root domains is
an RFC violation.
Comme prévu, tout fonctionne bien lorsque j'accède au site à l'aide de l'interface de l'utilisateur. www sous-domaine, c'est-à-dire https://www.foo.com . Le navigateur se plaint lorsque j'accède à https://foo.com car le certificat présenté est pour heroku.com.
J'en ai conclu que je devais rediriger le trafic pour foo.com à www.foo.com pour aborder cette question. J'envisage les approches suivantes :
1) Redirection basée sur le DNS
Le fournisseur de DNS Zerigo soutient le site rediriger des dossiers. Je suis tombé sur un question sur un sujet similaire sur SO. J'ai essayé la solution, elle ne fonctionne QUE pour la redirection HTTP (la documentation de Zerigo le confirme).
Ma configuration Zerigo :
foo.com A x.x.x.x
foo.com redirect http://www.foo.com
www.foo.com CNAME zzz.amazonaws.com
2) Redirection basée sur les baies
Ajouter un middleware basé sur le rack pour effectuer la redirection. Le site hôte canonique gem fournit un tel support.
use CanonicalHost do
case Rails.env.to_sym
when :staging then 'staging.foo.com'
when :production then 'www.foo.com'
end
end
Je me demande s'il n'y a pas une meilleure solution pour cela (à moins de passer à un SSL IP à 100 $ par mois).