【发布时间】:2018-03-03 16:56:24
【问题描述】:
我正在尝试创建一个类似于 Shopify 的应用程序架构。
我正在从 Forge 运行这个应用程序,并且我已经设置了通配符 DNS 工作所需的配置。
目前人们可以注册我的 Laravel Spark 应用程序,然后将在以下位置为他们动态创建一个子域:
Route::group(['domain' => '{company}.app.com'], function () {
Route::get('/', 'SubdomainController@index');
});
因此,如果他们注册一个帐户并将公司名称设置为Company,那么他们将在company.app.com 创建一个子域。此子域返回一个包含与其帐户相关数据的视图(它几乎为我的用户返回了一个自定义网站)。
我想让用户能够将他们在company.app.com 的网站镜像到他们自己的域地址。我尝试在备用域的 GoDaddy 中设置掩码,我必须对此进行测试,但它似乎不起作用:( 我在控制台中收到此错误:
Refused to display 'http://company.app.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
所以我猜这绝对不是正确的做法。
在这件事发生后,我查看了其他公司如何管理这件事,看起来他们创建了一个 A 记录和 CNAME 指向他们应用程序的根目录。 Shopify's guide 解释说他们将 IP 添加为 A 记录,然后将 CNAME 设置为 shop.myshopify.com 域。
所以现在我想知道当请求登陆我的应用程序时,如何将请求指向正确的方向。因此,例如,如果流量达到random.com,并且它的A record 等于我的服务器IP,加上app.com 的CNAME,那么我如何处理请求并将其重定向到正确的子域,同时保持用户在他们的自定义域上?
谢谢,尼克
【问题讨论】:
-
嗨,你找到解决办法了吗?