我更像是 stackoverflow.com 的粉丝,但我遇到了一些有趣的事情。我正在开发一个应用程序,一旦发布就会进行管理(希望在明年年初的某个时候)...
我的目标是http://域名.com作为宣传册网站,并且http://client.domain.com/作为客户端登录的主机。希望 1 个客户端对应 1 个数据库,而不是所有客户端都对应一个数据库。这样扩展起来就容易多了。需要扩展更多,就往服务器群里多放几个服务器。
根据我的广泛研究,实现此目的的最佳方法恰好是使用某种名称服务器来托管“主机”,然后设置一个可以读取标题并将其传递给应用程序的 iis 框,该应用程序可以控制数据库连接等。
我在想...我知道如果一切都基于 Windows,我可以使用 WMI 以编程方式控制名称服务器,但这是最好的方法吗?我会遇到很多麻烦吗?有人可以建议一个可以更好地处理这个问题的合理配置吗?我正在引导软件,所以我只有有限的资源来让它起步。
谢谢。
答案1
为什么不使用 www.domain.com 作为宣传册网站,而是使用 www.domain.com/client 作为单独的客户网站?
当您开始使用 SSL 时,这将避免通配符证书等的成本,并使您摆脱 DNS 业务。
答案2
强力DNS可以使用数据库后端来存储区域信息。在这种情况下,添加子域只需在数据库中插入一行即可。它支持无数数据库后端。不用说,SQL 插入通过编程实现起来非常简单。
不过,我要提醒你……托管 DNS 并不适合胆小的人。在将服务器投入生产之前,你最好阅读、研究和测试大量资料。因此,我高度建议您考虑使用第三方 DNS 服务。许多服务都具有开放 API,您可以使用它们来管理区域的 DNS 条目。DNSmadeeasy和动力系统有两家公司允许 API 访问。这些公司通过托管 DNS 赚钱。他们知道自己在做什么,而且收费相对低廉。既然可以选择外包,为什么要冒着自己托管 DNS 的风险和时间损失呢?
答案3
运行一个简单的 DNS 设置其实并不困难。不过,我同意 ErikA 的建议,在尝试自己运行之前先进行一些认真的研究(O'Reilly 的 DNS & Bind 总是一个好的开始)。
如果你符合以下情况,我肯定会说这值得你这么做:
- 拥有稳定、容错的互联网存在
- 可以花费相当多的时间来了解所选 DNS 解决方案的来龙去脉
就我个人而言,我已经使用 bind 和多个视图大约 8 年了,并且取得了很好的效果。最近,我开始研究使用 mysql 后端和 poweradmin 进行管理的 PowerDNS,以尝试减少我的备份人员的学习曲线。一旦设置好,它看起来就非常快捷和直接。
答案4
最简单的方法就是使用通配符条目,然后让 Web 服务器对请求进行分类?
为 设置 DNS 记录*.example.com
,然后使用 IIS(我假设),将您的宣传册站点绑定到example.com
和www.example.com
,然后将您的应用程序逐个映射到其他站点(client1.example.com、client2.example.com)等。
这样,您就只能管理 IIS 绑定,而不用管理 DNS,而且由于通配符是 DNS 条目中排名最低的匹配,如果您需要为其他内容(例如support.example.com
)创建 A 或 CName 记录,则通配符的排名将低于该记录。