我有一台 Win 2k8 服务器,它托管一个域下的多个 IIS 应用程序。example.com
对第二台服务器的需求增加了,需要获得更多服务器来托管我的应用程序。
在我的服务器上,我有一个*.example.com
绑定的默认网站,它执行简单的重定向,还有几个具有不同用途的子域,例如foo.example.com
。如果我将相同的配置添加到另一台服务器(不同的应用程序,不同的子域),会发生什么情况。DNS 是否足够智能,能够以某种方式将查询路由到正确的子域和正确的服务器?
因此,我会从以下角度出发:
SERVER1 (203.0.113.1)
- Default: *.example.com
- App1: app.example.com
- App2: foo.example.com
- App3: bar.example.com
到:
SERVER1 (203.0.113.1)
- Default: *.example.com
- App1: app.example.com
- App2: foo.example.com
- App3: bar.example.com
SERVER2 (203.0.113.2)
- Default: *.example.com
- App4: baz.example.com
- App5: qux.example.com
这可能吗?我需要一些特殊配置吗?还是它会自动运行?
答案1
你需要添加另一个 DNS 记录*.example.com
解析为s SERVER2
IP 地址。
如果您当前在 example.com DNS 区域中有以下主机记录:
*.example.com [some TTL] IN A 203.0.113.1
只需复制它,然后将新记录中的值更改203.0.113.1
为:
*.example.com [some TTL] IN A 203.0.113.1
*.example.com [some TTL] IN A 203.0.113.2
确保循环赛在 DNS 服务器上启用(几乎所有托管服务提供商都启用循环)。
答案2
如果您的每个应用程序都位于 1 个且仅 1 个 Web 服务器上。那么您无需在 DNS 中包含 Web 服务器。只需根据需要创建记录即可。
server1 IN A 203.0.113.1
server2 IN A 203.0.113.2
*.example.com IN CNAME SERVER1
app.example.com IN CNAME SERVER1
foo.example.com IN CNAME SERVER1
bar.example.com IN CNAME SERVER1
baz.example.com IN CNAME SERVER2
qux.example.com IN CNAME SERVER2
如果您确实想要,也可以让 *.example.com 指向 SERVER2,并确保两台服务器上都有默认站点的内容。但只要您没有在多台服务器上运行相同的应用程序,就无需到处发送通配符。这里的目标是冗余吗?还是只是处理负载?如果您有通配符 SSL 证书,则可以在所有服务器上安装它以覆盖每个应用程序。