我正在建立一个网站,用户可以建立自己的网站。用户输入站点名(例如site1),并使用子域site1.example.com创建站点。目前,我已经将通配符DNS设置为站点创建的单个服务器。这是很好的工作,但没有足够的可伸缩性,以供今后使用。
我想要能够控制什么服务器是创建的网站。例如,site1是在server1上创建的,site2是在server2上创建的。我一直在研究几种解决方案。
我更喜欢IIS解决方案,但在设置此解决方案时没有找到任何示例,甚至可能的话。
也许有一些开源或付费的解决方案可用。
发布于 2011-10-19 05:15:09
解决这个问题的方法有很多种,但是最好的解决方案取决于您的限制、环境、站点类型等。例如:
我假设您有一个“典型的”web应用程序,应用程序托管在web服务器中,会话状态存储在本地内存(许多平台的默认状态)和数据库中。我将假设存储在数据库中,并且您的应用程序支持多租户。
设置它的“典型”方法是有多个层:
这方面有几个要点:
设置非常灵活。您可以添加许多应用服务器。您可以独立地更改任何teir的设置。你没有单一的失败点(例如,你可以容忍失去一两台服务器而没有人注意到)。
即使你的应用程序不支持多租户,你也有几个选择:
看看StackExchange的设置,它实际上非常接近我刚才描述的内容:

发布于 2011-10-17 22:10:49
对此有多种解决方案。如何根据域静态地确定服务器目的地呢?例如,在创建"site12“之后,如果"site12”的哈希值为偶数,则为server1,否则为server2。
发布于 2014-10-11 05:51:26
您的问题是以编程方式创建DNS记录吗?
如果是这样,您可以使用NicTool。它有一个用于管理DNS的广泛API,并且可以与许多名称服务器一起工作。
免责声明:我在工作中使用NicTool,并建立了自动化系统,为我们节省了大量的成本。
https://serverfault.com/questions/322088
复制相似问题