设置客户特定的域

4 domain-name-system domain

我可以访问 Fog Creek 的网站,设置一个新帐户,他们会立即为我分配一个 URL,例如“mycompany.fogbugz.com”(其中“mycompany”是我自己编造的,而不是 Fog 分配的某个值溪)。我可以用 Beanstalk 和许多其他供应商做同样的事情。我一直在谷歌搜索,试图弄清楚这是如何工作的。

1:在上面的例子中,“mycompany.fogbugz.com”是否以某种特殊的方式在DNS中设置,而不是如何设置一个普通的“www.foo.com”域?

2:假设 Fog Creek 使用 Tomcat(我确定这不是真的,但假装是这样)他们可能会在他们的服务器上创建一个 tomcat/webapps/mycompany 子目录吗?或者有没有更简单的方法来处理这个问题?

我显然不是 DNS 或 TC 向导。任何见解表示赞赏。新年快乐!

ada*_*dam 7

这就是所谓的通配符子域(在 dns 中),然后使用 url 重写进行处理。

通配符子域如下所示:

*.domain.tld.      IN  A    1.2.3.4
Run Code Online (Sandbox Code Playgroud)

然后你可以设置 apache 接受对任何子域的请求:

<VirtualHost 111.22.33.55>
    DocumentRoot /www/subdomain
    ServerName www.domain.tld
    ServerAlias *.domain.tld
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用 mod_rewrite 将这些子域之一上的流量重定向到子文件夹或查询字符串。像这样的东西:

RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule (.*) %2/$1 [L]
Run Code Online (Sandbox Code Playgroud)