我正在构建一个应用程序,我有XX个可以在单个实例上运行的客户.该应用程序通过添加更多节点来扩展(从而支持XX多个客户).我想要一种方法来使用单个IP地址,这样我就可以让客户设置CNAME来使用他们自己的自定义URL.
我还希望能够将客户迁移到不同的节点,这意味着CNAME需要指向不同的IP地址.
我的想法是,我可以将每个人都指向一个IP地址,然后让该应用程序将客户请求路由到不同的服务器节点.这就像负载均衡器所做的那样(来自我的研究),但对于我想做的所有事情,这似乎有点过分.
我更喜欢在.NET中使用这种方法,但我愿意接受任何技术来实现目标.
解决方法
您没有提到在任何地方使用HTTP,但您将问题标记为“web-applications”和“web-farm”,因此我假设这是您的应用程序使用的内容;如果这是你的情况,那么这看起来就像
reverse proxy存在的确切工作类型.
您设置了N个内部服务器,每个服务器都在其自己的内部IP地址上运行,并且您在每个服务器上配置IIS(或您正在使用的任何Web服务器)以处理服务器将要回复的网站名称.
然后,您为反向代理提供一个内部IP地址,该地址可以与内部服务器和外部公共IP地址通信.
然后,您将所有公共DNS名称指向反向代理的外部地址.
最后,配置反向代理,以便将对给定网站名称的请求转发到实际托管它的内部Web服务器.
Etvoilà.
我确信ISA Server 2006和ForeFront TMG 2010都可以轻松完成,但当然您可以使用任何所需的反向代理软件.