我可以为同一个heroku应用程序提供两个地址吗?

时间:2016-07-09 09:58:03

标签: ruby-on-rails heroku

我已经有一个Rails 4应用程序,一切正常。我想知道我是否可以拥有另一个heroku地址,这将重定向到同一个应用程序。如果有可能,请指教。

2 个答案:

答案 0 :(得分:1)

是的,你可以。您有两种选择:

  1. 处理Heroku应用程序中的重定向

    在这种情况下,您需要将两个域指向当前DNS提供商的同一个应用程序。此外,您需要使用heroku domains:add命令将两个域添加到Heroku应用程序。

    最后,您需要处理应用程序内的重定向。在路由器中,添加一个约束到您要重定向的主机名的路由,并使用Rails redirect feature来管理重定向。

    使用Rails应用程序上安装的Rack中间件可以实现更复杂的重定向

  2. 使用域名注册或DNS提供商提供的重定向功能进行重定向。大多数注册商都提供将域重定向到另一个域的功能。在这种情况下,请使用该功能重定向到主域。

    您无需在Heroku进行任何更改。

  3. 如果您希望将相同的代码库部署到2个Heroku应用程序,请使用他们的"environment"功能,这实际上将每个环境配置为不同的Heroku git远程。

答案 1 :(得分:0)

是的,你可以。如果您只想重定向(例如:something.com重定向到another.com),您需要在您的DNS提供商(通常是您的域名注册商)上执行此操作。设置DNS时,您应该可以添加URL记录。

如果您想在不同的域中使用相同的应用,则需要将DNS配置为"指向"使用heroku domains:add命令到heroku和add the domain。请注意,您可能需要更改代码以动态处理不同的域,特别是对于邮件程序,因为您可能需要发送具有不同发件人地址(FROM)的电子邮件或使用不同的激活URL,以防您在使用e-进行注册过程时邮件确认。 ActionDispatch :: Request有一些有用的方法,如request.host