我正处于设计新MVC SaaS应用程序的早期阶段,该应用程序需要满足多个客户端的需求。每个客户端都有多个用户帐户。
我最初的想法是允许每个客户使用不同的CNAMES拥有自己的唯一网址:
即。 clientA.mynewmvcsite.com或clientB.mynewmvcsite.com
我经常通过网站看到这个实现这种模型的网站(例如BeanStalkSVN,InvoiceMachine等)
我的问题是关于如何实现这一目标(在高层次上)?我从IIS配置的角度理解CNAMES和DNS指针的使用,但我猜这不是如何实现的。
是否可以通过Web应用程序从请求中提取CNAME并验证客户端是否有效? (最有可能是通过查询数据库中的客户列表 - 但我不是在寻找细节,所以我不关心那部分)
由于可能存在大量客户端,我认为DNS解析被设置为* .mynewwebsite.com解析为主机服务器的全局规则?
很高兴收到更详细的信息或指示。
答案 0 :(得分:1)
您确实可以通过DNS将所有子域指向同一位置来实现此目的。然后,您可以通过读取HTTP Host
标头来检测客户端正在使用哪个标头,该标头包含用于请求的整个主机名。此标头由HTTP 1.1强制执行,是虚拟主机等的可能原因。