在Heroku上将旧的SSL域重定向到新的域(使用/ Rails 3)

时间:2013-02-26 02:28:15

标签: ruby-on-rails ruby-on-rails-3 ssl heroku dns

我一直在谷歌搜索过去的一小时,但不能完全确定它。也许你们可以在这里提供帮助!

这是我正在尝试做的事情:

旧网站是:

old.tld

新网站是:

new.tld

许多人通过SSL访问旧网站上的一个特定遗留网址,即:

https://www.old.tld/old_url

我刚刚在Heroku上设置了一个全新的网站,在新域名上运行Rails 3。

我还安装了Heroku的SSL Endpoint Add-on并使用了一个新的安全子域:

secure.new.tld

我有一堆重定向&我的Rails routes.rb中的约束重定向旧 - >新的并传递适当的请求。一切都适用于非SSL的东西。

我唯一无法正常工作的是

的重定向

https://www.old.tld/old_url - > https://secure.new.tld/new_url

Safari似乎并不介意,但Chrome正在抛出“这可能不是您正在寻找的网站!”错误。它说(仅当通过SSL尝试时):

“您试图访问www.old.tld,但实际上您已经到达了一个服务器,将自己标识为secure.new.tld”等等。

(这正是我想要的,但Chrome似乎并未批准;)

有关如何正确配置的任何想法?

1 个答案:

答案 0 :(得分:1)

获得具有旧名称和新名称的SAN(使用者替代名称)证书的无缝解决方案。

另一种方法是在两个安全请求之间插入一个非安全请求:从https://www.old.tld重定向 - > http://secure.new.tld - > https://secure.new.tld。我实际上没有测试过这个,但它应该在理论上起作用。如果它“不起作用”,那么您可以尝试在http://secure.new.tld添加一个实际页面,其中包含一条消息和指向https://secure.new.tld的链接。