Dns 具有CNAME问题的自定义子域

Dns 具有CNAME问题的自定义子域,dns,cname,Dns,Cname,我在掌握如何在我的应用程序中使用自定义域方面有点困难。通常情况下,应用程序会将用户分配到子域,例如user.theapp.com,他们希望使用CNAME,因此m.theirsite.com会解析到应用程序。似乎大多数这样做的服务都要求您告诉他们您的自定义域是什么,而仅仅添加CNAME记录是行不通的。步骤: 用户创建一个帐户 我们告诉他们可以在yourstuff.theapp.com(当前位置)上输入CNAME 这是我的困惑。在1和2之后,我的自定义域仍不工作。。那么,一旦客户制作了CNAME记录

我在掌握如何在我的应用程序中使用自定义域方面有点困难。通常情况下,应用程序会将用户分配到子域,例如user.theapp.com,他们希望使用CNAME,因此m.theirsite.com会解析到应用程序。似乎大多数这样做的服务都要求您告诉他们您的自定义域是什么,而仅仅添加CNAME记录是行不通的。步骤:

  • 用户创建一个帐户
  • 我们告诉他们可以在yourstuff.theapp.com(当前位置)上输入CNAME
  • 这是我的困惑。在1和2之后,我的自定义域仍不工作。。那么,一旦客户制作了CNAME记录并向我们提供了“m.theirsite.com”,我们会用它做什么特殊的魔术来使这些网站“相同”

  • 提前感谢您。

    我们的解决方案是使用PHP/MySQL来解决这个问题。正常情况下,你应该将外部域/子域CNAME添加到你的应用程序中,但是正如你将看到的,CNAME条目不需要精确到应用程序上的子域。接下来,您将在数据库中构建一个区域,用户可以在其中告诉您他们的CNAME来自哪个外部站点。此时,您将基于HTTP主机在网站上执行大部分身份验证,或者抓取子域并将其用作客户端,或者检查HTTP主机是否在您的CNAME列表中,然后从中引用客户端


    CNAME所做的只是指向一个服务器位置,因此如果您在apache配置中使用通配符,foo.myapp.com将解析到与bar.myapp.com相同的位置,但在应用中,可以使用主机拉出子域并找到客户端(“foo”和“bar”)。当使用CNAME时,如m.mywebsite.com--cnamed-->foo.myapp.com,应用程序在HTTP主机中不再具有该客户端信息,正如我们提到的,apache通配符设置(*.myapp.com)只是抛出子域。。因此,客户必须告诉我们“我将从m.mywebsite.com访问,因此请将该主机名作为我身份验证的有效主机名。”

    嘿,马特,谢谢你的回答。这是否意味着用户将其自定义域命名为user.myapp.com或myapp.com并不重要?我的意思是CNAME值并不重要?许多服务都会指导用户cname to user.theirapp.com,所以我认为它有一些好处。