我更多的是一个stackoverflow.com的家伙,但我遇到了一些有趣的事情。 我正在开发一个即将发布的应用程序(希望明年年初)。
我的目标是将http://domain.com作为brochureware网站,并将http://client.domain.com/作为客户端login的主机。 希望1客户端到1数据库,而不是所有的客户端到一个单一的数据库。 使缩放lightyears更容易..需要扩展更多,投入更多的服务器到农场。
从我的广泛的研究中,最好的方法是使用某种名称服务器来托pipe“主机”,然后安装一个可以读取头文件并将其传递给应用程序的iis框,该应用程序可以控制数据库连接等等
我想知道…我知道我可以使用WMI程序控制名称服务器,如果一切都是基于Windows,但是这是最好的方法? 我会遇到一大堆头痛吗? 有人可以build议一个体面的configuration,可以用来处理这个更好? 我正在引导软件,所以我没有足够的资源来实现它。
谢谢。
为什么不使用www.domain.com作为宣传手册网站,而是使用www.domain.com/client作为个人客户网站?
当你开始使用SSL,这将避免通配符证书的成本等,并让你脱离DNS业务。
PowerDNS可以使用数据库后端来存储您的区域信息。 在这种情况下,您只需添加一个子域就可以在数据库中插入一行。 它支持无数的数据库后端。 不用说,SQL插入是非常简单的,以编程方式实现。
我会告诫你,虽然…托pipe的DNS是不是为了心脏。 在投入生产之前,你会很好地在服务器上做大量的阅读,研究和testing。 因此,我强烈build议您考虑使用第三方DNS服务。 有许多开放的API可以用来pipe理您的区域的DNS条目。 想到允许API访问的两个DNSmadeeasy和Dyndns 。 这些公司使他们的钱托pipeDNS。 他们知道他们在做什么,而且他们相对便宜。 为什么自己暴露在自己的风险和时间丢失托pipeDNS自己当你有select外包呢?
运行一个简单的DNS设置并不是很困难。 然而,我想第二个ErikA的build议是,在尝试自己运行它之前,做一些认真的研究(O'Reilly的DNS和绑定总是一个好的开始)。
如果你愿意,我肯定会说:
就个人而言,我已经运行约8年的多个视图绑定,并取得了很好的成功。 最近,我开始考虑用PowerDNS和mysql后端和poweradmin进行pipe理,以减less我的备份人员的学习曲线。 一旦安装好了,它就显得非常活泼和简单。
这个过程被称为“透明redirect”或虚拟主机。 这意味着您将连接到不同的网站,具体取决于HTTP标题中要求的URL。
这在Apache中是微不足道的。 并可能在IIS中看到: http : //www.simpledns.com/kb.aspx? kbid= 1149
client.domain.com和client2.domain.com需要2个DNS条目,所以每个URL都需要一个新条目。 你必须为每个客户pipe理这些。
另一种方法是使用子文件夹,而不是另一个虚拟主机。 这将意味着没有额外的DNS条目。 一个真正的优势。
如www.domain.com/client和www.domain.com/client2
您可以将每个子文件夹指向每个客户端的不同站点,并因此指定不同的数据集。 我不确定IIS是否可以透明地将代理服务器代理到另一台服务器,但是您可以将负载平衡服务器放在您的Web服务器前面,以便将请求发送到不同的服务器。 无论哪种方式,这都是非常可能的,并不那么困难。
最简单的方法就是使用通配符条目,然后让Web服务器将请求整理出来。
为*.example.com设置DNSlogging,然后使用IIS(我假设),将您的手册网站绑定到example.com和www.example.com ,然后将您的应用程序逐一映射到其他网站(client1 .example.com,client2.example.com)等。
这样,您只pipe理IIS绑定,而不是DNS,而且通配符是DNS条目中排名最低的匹配项,所以如果您需要为其他项创buildA或CNamelogging(比如support.example.com ),通配符的排名会低于这个logging。