将自定义域从Cedar堆栈转换为Bamboo堆栈

时间:2013-12-15 03:55:03

标签: ruby-on-rails heroku dns bamboo cedar

对于仍在Bamboo堆栈myapp.heroku.com上的Heroku上托管的应用程序,您如何将自定义域更改为指向Cedar堆栈上与Cedar兼容的版本myapp-cedar.herokuapp.com

以下是需要处理的条件:

  1. 即使使用不同的堆栈,也不能为应用程序分配相同的Heroku应用程序名称。
  2. Bamboo使用.heroku.com,而Cedar使用.herokuapp.com
  3. Bamboo使用proxy.heroku.com来处理路由,此处指向自定义域名。 Cedar希望你指向myapp-cedar.herokuapp.com
  4. 要让Heroku知道自定义域所针对的应用程序,需要在Heroku方面为应用程序分配自定义域名。 (对于Cedar,除了指向myapp-cedar.herokuapp.com之外,还需要这样做。)
  5. 自定义域名一次只能分配给一个应用程序,无论是在Bamboo还是Cedar上。因此,在Heroku方面,只有一个应用程序提供域名。
  6. 前几天我已经向Heroku支持提交了一张票,询问他们是否允许在Bamboo和Cedar上为两个应用程序分配相同的域名。我怀疑他们这样做了。

    考虑到DNS传播时间,切换到Cedar应用程序的最佳方法是什么?用户不方便?

    如果需要将其转移到服务器故障,请告诉我。

    更新

    我们将按照Heroku支持建议的解决方法使用SSL endpoint。 SSL端点也为HTTP提供服务,它们似乎只根据Web请求主机和自定义域分配进行匹配。

    因此,似乎将自定义域指向端点,在DNS更改传播后将自定义域从Bamboo应用程序重新分配到Cedar应用程序,然后在切换完成后再次指向正确的Cedar子域

    更新

    我们最终只是通过一些停机时间进行直接的DNS更新。 TTL设置得非常低,因此预计DNS更改会对大多数用户传播得足够快。

1 个答案:

答案 0 :(得分:1)

我会这样:

  • 为cedar.example.com等指向your-cedar-app.herokuapp.com
  • 的子域创建CNAME记录
  • 将cedar.example.com添加到雪松应用域
  • 执行www.example.com的屏蔽重定向到cedar.example.com
  • 从Bamboo app中删除www自定义域
  • 将www域添加到雪松应用
  • 将www配置为指向雪松
  • 从www
  • 中删除重定向

希望有所帮助。