CNAME 帮助 - SaaS 的通配符 DNS

CNAME 帮助 - SaaS 的通配符 DNS

我正在尝试弄清楚如何允许我的用户使用 CNAME 作为他们唯一的通配符域。(user1.wlapi.com)等

我在这里读到:https://stackoverflow.com/questions/5101195/custom-subdomain-with-cname-problem

使用通配符 DNS 进行 CNAME 可能不是最好的选择,所以我需要另一种方法来识别用户,这很好。我可以通过一些数据库工作来做到这一点。

但是,我似乎无法让 CNAME 与 user1.wlapi.com 或 wlapi.com 一起工作

它什么也不做...只是加载一个空白屏幕。

问题:

我必须做什么才能让 CNAMES 在我的服务器上工作?(我正在使用 MediaTemple,但如果有更简单的主机,我可以切换)

我读了一些关于 VitrualHost 的 .conf 文件的内容,但这对我来说没有任何意义......

更新

我成功了!我升级到具有唯一 IP 的专用服务器,这似乎有效。

通配符 DNS 不起作用,但我可以使用 HTTP 主机来查找用户。:)

答案1

主要有两种方法。为了举例说明,我们假设你的公司名称是example.org

a)您域名下的每个帐户子域名:所有用户都会获得您域名下的完全限定域名,即<userid>.example.org<nextuser>.example.org我会使用一个捕获所有 A 记录来做到这一点:

$ORIGIN example.org.
@               IN A            1.2.3.4
www             IN CNAME        example.org.
*               IN A            5.6.7.8 # This one

b) 转到专用网关的“虚荣域名”:假设您想为 en 用户提供在自己的域中设置 FQDN 的选项,例如shop.userdomain.com。在这种情况下,我将专门设置一个网关服务器来处理此问题,并让用户为该网关创建 CNAME。例如:

$ORIGIN example.org.
@               IN A            1.2.3.4
www             IN CNAME        example.org.
gateway         IN A            5.6.7.8 # This one

gateway.example.org..并且您的最终用户必须创建指向此示例中的CNAME 。

笔记:在上述两种情况下,我都使用了 A 记录,但如果更方便,您也可以使用 CNAME。并且您的 5.6.7.8 服务器必须查看传入的 HTTP 标头并采取适当的行动,即您的 Web 应用程序编程需要根据每个请求正确处理用户帐户。

答案2

在 Windows 中的 IIS 中,您可以使用主机标头。在 Linux 中,我相信它被称为虚拟主机,正如您所说的。以下链接对此进行了解释:

http://httpd.apache.org/docs/2.2/vhosts/

答案3

正如其他人所说这是一个两步过程,涉及您的内容 DNS 服务器和您的内容 HTTP 服务器。

相关内容