【发布时间】:2013-01-17 18:47:00
【问题描述】:
我仍在试验 Azure 多租户开发。我现在有我的第一个试用版,但为了使用子域名 (customer.site.com),我需要将我的 Azure 网站切换为共享/保留。由于我仍在试验,我宁愿不开始为 Azure 付费。有没有解决的办法?或者,是否可以在我的本地 Visual Studio 网络服务器中测试多租户部分?
【问题讨论】:
标签: c# asp.net-mvc azure multi-tenant
我仍在试验 Azure 多租户开发。我现在有我的第一个试用版,但为了使用子域名 (customer.site.com),我需要将我的 Azure 网站切换为共享/保留。由于我仍在试验,我宁愿不开始为 Azure 付费。有没有解决的办法?或者,是否可以在我的本地 Visual Studio 网络服务器中测试多租户部分?
【问题讨论】:
标签: c# asp.net-mvc azure multi-tenant
不,您不能在免费网站上使用自定义域名。
但是您可以做的是将租户识别从子域切换到路径。因此,您将拥有mysites.azurewebsites.net/tenant10/,而不是tenant10.site.com/。这基本上只是 URL 重写规则的改变——我认为这是在 URL 级别处理多租户识别的正确方法。 Azure 网站和 Azure 云服务都支持 URL 重写。
在本地测试多租户更加容易。您只需打开 hosts 文件(在典型的 Windows 安装中,它位于 c:\windows\system32\drivers\etc\hosts。只需为您要测试的所有(子)域添加条目,并将它们映射到 127.0.0.1。类似:
127.0.0.1 tenant1.mydomain.com
127.0.0.1 tenant2.mydomain.com
127.0.0.1 tenant15.mydomain.com
...
然后,像往常一样使用F5 运行您的项目,并在浏览器的地址栏中手动输入新地址:tenant1.mydomain.com。
但是首先用F5启动项目来检查本地开发结构的真实IP地址,因为有时它可能不是127.0.0.1,而是127.0.0.8或其他。浏览器初始启动时使用的 IP 地址是您必须填写在 hosts 文件中的 IP 地址。
但是,如果您在 hosts 文件中使用真实(子)域名,请不要忘记从中删除条目,因为您将永远无法访问真实的 Internet 站点。
【讨论】: