使用 Windows 服务器,SaaS Web 应用程序如何允许客户使用他们自己的域?
据我所知,他们会输入 example.com/myapp/ 的 CNAME 记录来重定向到我的服务器。
我需要在 DNS 等方面做些什么吗?(我的应用程序会查找 URL,并显然找到它们的数据)。
我更关心硬件/dns/路由设置等。
答案1
正如 Ivan 所说,您需要为要重定向的域设置一个 CNAME 以指向您的服务器。您无法使用路径重定向,因此您只需为 example.com 创建一个 CName 以指向 myserver.com,然后您可以根据需要转到 example.com/myapp。
要让 IIS 处理这个问题,您可以做以下两件事之一。如果所有请求都将发往同一个地方,而不依赖于 URL,那么您只需让一个站点侦听端口 80(如果是 https,则为 443)上的所有请求,就大功告成了。
但是,如果每个域都需要不同的站点,那么您可以在 IIS 中创建多个站点,将它们设置为侦听端口 80 或 443,但对于特定的主机标头,这样该站点将只响应对该特定 URL 的请求。
答案2
他们添加的 CNAME 只是域名,您不能使用路径名。而且这本身并不是重定向,因为您的 Web 服务器将直接响应他们的域。
在您的终端,您需要告诉您的网络服务器响应该域(或者更好的是,响应任何域,并让您的应用程序处理它)。
如果您使用 Apache,这很容易,因为默认情况下它会使用您定义的默认虚拟主机进行响应。
不幸的是,对于 IIS,我不知道它是如何工作的。
答案3
让客户在其 DNS 区域中为您的托管应用程序的 IP 地址添加 A 记录。然后在 IIS 7 Mananger 中,为他们分配给您的应用程序的每个域主机记录创建绑定(主机标头/IP 地址配对)。示例:myapp.mydomain.com、coolapp.anotherdomain.net 等。
答案4
我认为就是这样 - 在单实例 SaaS Web 应用程序下创建一个名为“sites”的子目录。在“sites”中为每个网站创建一个子目录。所以是 sites\clientX。在 clientX 目录中,放置一个默认页面或一个 web.config,用于创建该客户端网站所需的所有设置。将 IIS 网站连接到 clientx 子目录,而不是根目录。然后重定向回根目录。我对重定向感到困惑。我们在经典 asp 中做到了这一点。我现在正在使用 IIS7 和 asp.net 处理这个问题。
mkersey-at-soveryn.com - 请随时发送电子邮件,我想知道事情进展如何!