转发域,但保留URL

时间:2019-03-05 05:59:56

标签: ruby-on-rails dns cross-domain subdomain white-labelling

我想通过http://app.client-domain.com/http://www.my-domain.com/发送到我的Heroku托管的Rails应用中。

从研究来看,这似乎相对简单(使用A,MX,CName等域记录重定向/转发)

但是,我不希望http://app.client-domain.com/仅将浏览器转发到http://www.my-domain.com ...我希望它看起来像是用户仍在http://app.client-domain.com上。

例如,请求:

http://app.other-domain.com/user/4

将从以下位置提供数据

http://www.my-domain.com/user/4

...但是该URL将保留:

http://app.other-domain.com/user/4

同样,如果将用户(通过应用程序)发送到应用程序中的新地址(如/products/4),则上述方案将得到维护。看起来真的像应用程序所在的地方

http://app.other-domain.com/

这可能吗?

1 个答案:

答案 0 :(得分:1)

有可能。实现这种目标的方法主要有两种。

首选方法是让客户端使用指向app.client-domain.comwww.my-domain.com的DNS CNAME。然后必须为您的heroku应用配置域app.client-domain.com。还应该将其配置为不重定向到“主”域。

解决此问题的另一种方式是为app.client-domain.com设置一个网络服务器,该服务器为带有框架的网页提供服务,然后将www.my-domain.com加载到框架中。

到目前为止,CNAME方法是首选方法。使用框架会导致SSL问题,并且某些站点可能会尝试避免陷入框架中,并且如果您使用支付网关,也可能会导致PCI合规性问题。